Page History
Developers Meeting on Weds, March 27, 2019
Info | ||
---|---|---|
| ||
|
Agenda
Quick Reminders
Friendly reminders of upcoming meetings, discussions etc
...
(Ongoing Topic) DSpace 7 Status Updates for this week (from DSpace 7 Working Group)
(Ongoing Topic) DSpace 6.x Status Updates for this week
- 6.4 will surely happen at some point, but no definitive plan or schedule at this time. Please continue to help move forward / merge PRs into the dspace-6.x branch, and we can continue to monitor when a 6.4 release makes sense.
- Upgrading Solr Server for DSpace (Mark H. Wood )
- PR https://github.com/DSpace/DSpace/pull/2058
- Auto-reindexing in Solr:
Jira server DuraSpace JIRA serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 key DS-3658 - Should this only happen for major releases? Should it be configurable?
- Docker configuration for external Solr
- https://github.com/Georgetown-University-Libraries/DSpace/commit/7115173d61776dd2455690518f5c9809cd0f28d4
- The Dockerfile creates a new solr instance with 4 cores. It then overlays the schema and config changes in PR 2058.
- I attempted to create my branch so that I could create a PR back to Mark's branch, but some other changes from master seem to be showing up if I create a PR.
- This will need a small change to our docker compose files to invoke the external solr service. https://github.com/DSpace-Labs/DSpace-Docker-Images/pull/79
- https://github.com/Georgetown-University-Libraries/DSpace/commit/7115173d61776dd2455690518f5c9809cd0f28d4
- DSpace Backend as One Webapp (Tim Donohue )
- PR: https://github.com/DSpace/DSpace/pull/2265 (PR is finalized & ready for review)
- A follow-up PR will rename the "dspace-spring-rest" module to "dspace-server", and update all URL configurations (e.g. "dspace.server.url" will replace "dspace.url", "dspace.restUrl", "dspace.baseUrl", etc)
- DSpace Docker and Cloud Deployment Goals (Terrence W Brady )
Passing environment variables to Docker
Creating default AIP dataset for DSpace 7 docker load
- Tim shared a link to the entities WG dataset. This dataset contains no bitstreams. How should we handle this for the AIP's?
- https://github.com/DSpace-Labs/DSpace-Docker-Images/pull/95
Update sequences on initialization
https://github.com/DSpace/DSpace/pull/2362 - update sequences port
https://github.com/DSpace/DSpace/pull/2361 - update sequences port
- Add Docker build/push to Travis
- We can revisit this after Docker is more widely adopted by DSpace developers. We can decide if travis is the right place to solve this.
- https://github.com/DSpace/DSpace/pull/2308
- Brainstorms / ideas (Any quick updates to report?)
- (On Hold, pending Steering/Leadership approval) Follow-up on "DSpace Top GitHub Contributors" site (Tim Donohue ): https://tdonohue.github.io/top-contributors/
- Bulk Operations Support Enhancements (from Mark H. Wood)
- Curation System Needs (from Terrence W Brady )
- Tickets, Pull Requests or Email threads/discussions requiring more attention? (Please feel free to add any you wish to discuss under this topic)
Tabled Topics
These topics are ones we've touched on in the past and likely need to revisit (with other interested parties). If a topic below is of interest to you, say something and we'll promote it to an agenda topic!
- Management of database connections for DSpace going forward (7.0 and beyond). What behavior is ideal? Also see notes at DSpace Database Access
- In DSpace 5, each "Context" established a new DB connection. Context then committed or aborted the connection after it was done (based on results of that request). Context could also be shared between methods if a single transaction needed to perform actions across multiple methods.
- In DSpace 6, Hibernate manages the DB connection pool. Each thread grabs a Connection from the pool. This means two Context objects could use the same Connection (if they are in the same thread). In other words, code can no longer assume each
new Context()
is treated as a new database transaction.- Should we be making use of
SessionFactory.openSession()
for READ-ONLY Contexts (or any change of Context state) to ensure we are creating a new Connection (and not simply modifying the state of an existing one)? Currently we always useSessionFactory.getCurrentSession()
in HibernateDBConnection, which doesn't guarantee a new connection: https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java
- Should we be making use of
- Bulk operations, such as loading batches of items or doing mass updates, have another issue: transaction size and lifetime. Operating on 1 000 000 items in a single transaction can cause enormous cache bloat, or even exhaust the heap.
- Bulk loading should be broken down by committing a modestly-sized batch and opening a new transaction at frequent intervals. (A consequence of this design is that the operation must leave enough information to restart it without re-adding work already committed, should the operation fail or be prematurely terminated by the user. The SAF importer is a good example.)
- Mass updates need two different transaction lifetimes: a query which generates the list of objects on which to operate, which lasts throughout the update; and the update queries, which should be committed frequently as above. This requires two transactions, so that the updates can be committed without ending the long-running query that tells us what to update.
Ticket Summaries
Help us test / code review! These are tickets needing code review/testing and flagged for a future release (ordered by release & priority)
Expand Jira server DuraSpace JIRA columns key,summary,type,created,updated,assignee,reporter,priority,status,fixversions maximumIssues 20 jqlQuery filter=13905 ORDER BY fixVersion DESC, priority DESC serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 Newly created tickets this week:
Expand Jira server DuraSpace JIRA columns key,summary,type,created,assignee,reporter,priority,status maximumIssues 20 jqlQuery filter=13902 serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 Old, unresolved tickets with activity this week:
Expand Jira server DuraSpace JIRA columns key,summary,type,created,updated,assignee,reporter,priority,status maximumIssues 20 jqlQuery filter=13906 serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 Tickets resolved this week:
Expand Jira server DuraSpace JIRA columns key,summary,type,created,assignee,reporter,priority,status,resolution maximumIssues 20 jqlQuery filter=13903 serverId c815ca92-fd23-34c2-8fe3-956808caf8c5 Tickets requiring review. This is the JIRA Backlog of "Received" tickets:
Expand Jira server DuraSpace JIRA columns key,summary,type,created,updated,assignee,reporter,priority maximumIssues 20 jqlQuery filter=10152 serverId c815ca92-fd23-34c2-8fe3-956808caf8c5
Meeting Notes
Meeting Transcript
Code Block | ||||
---|---|---|---|---|
| ||||
...