Hi All,
Happy Friday. As we roll into the weekend, the Hyrax Fedora 6 Working Group wanted to share an update on the current status of our work.
Please read on to see what we have been working on.
The Hyrax Fedora 6 Working Group was formed in early 2024 with Hyrax 5.x release on the horizon and Fedora 6.x adoption rates continuing to rise. The Working Group was focused on evaluating, documenting and understanding the work required for Hyrax 5.x to use Fedora 6.x as a back end. Several Working Group updates have been released to inform the Samvera and Fedora Communities about on-going efforts and can be found here.
The Working Group has brought together stakeholders from across the Samvera and Fedora communities, working collaboratively to see that these two platforms remain a robust solution for all users. To date we have been able to accomplish the following:
The group is now focused on one of the final deliverables - performance testing of Hyrax 5.x with Fedora 6.x via Valkyrie. A technical update will follow.
Current state of technologies:
Hyrax 5.2.0 - https://github.com/samvera/hyrax/releases/tag/hyrax-v5.2.0
Fedora 6.5.1 - https://github.com/fcrepo/fcrepo/releases/tag/fcrepo-6.5.1
Valkyrie 3.1.4 - https://github.com/samvera/valkyrie/releases/tag/v3.1.4
The Hyrax Fedora 6 Working Group is currently focused on one of its final deliverables - testing Hyrax 5 with Fedora 6 as the storage backend and Valkyrie as the storage adapter. Valkyrie is an adapter used for making connections between Hyrax and Fedora. We have organized this testing to focus on performance improvements compared to previous versions of Hyrax that are using Fedora 4 via ActiveFedora for managing connections.
Initial testing captured performance times for defined use cases using Hyrax (versions 2.9 - 3.x) with Fedora 4. Then local instances were also tested by institutions working on establishing Valkyrized connectors for Hyrax 5.x using Fedora 6.x. Emory University and Indiana University both provided performance testing results for Hyrax using Fedora 4 (via ActiveFedora), and Emory provided some results for Hyrax 5 using Fedora 6. An option was created for results for testing Hyrax with Postgres as the storage backend, but that testing was not completed.
In addition to Emory University testing Hyrax with Fedora 6.x locally, the Hyrax Fedora 6 Working Group set up a "nurax" instance (called f6.nurax) using Hyrax with Fedora 6.x. The idea was for community members to complete a set of defined performance test cases in this environment . An initial test on this nurax instance is also captured in the performance testing results.
For current work on community performance testing, the defined test cases are the same as those that were used by Emory and Indiana for testing Hyrax with Fedora 4. We have also divided them up into Phase 1 and Phase 2.
Phase 1 covers test cases that do not require collections of large numbers of works to already be in place on the Hyrax instance. f6.nurax does not have Bulkrax in place yet so no method is available to populate a collection of 5,000+ works. Once Bulkrax is available for use, Phase 2 performance testing will occur to cover those test cases.
The test cases, defined in the Community performance Testing matrix, were identified as pain points previously (in Hyrax with Fedora 4 for example), and thus needed to be addressed in the scope of our work. The f6.nurax site is available at https://f6.nurax.samvera.org/ and the community performance testing results are available as well: https://docs.google.com/spreadsheets/d/1EsWzLPdopXn_xRGlLc7OEaxxnsvTug2o0g5I1DNIttU/edit?gid=0#gid=0
Four sets of performance testing occurred. The Hyrax Fedora 6 Working Group would like to thank everyone who took the time to try these out and record your results.
We can summarize the following:
More detailed explanation: For this case, Hyrax processing had two jobs iterating over each file in the work, which was duplicative and unnecessary. Randall Floyd, a developer at Indiana University and current co-Tech Lead for Hyrax, combined those into a single job and that has reduced the amount of time this operation takes to complete by about half. Recent testing results confirm improved performance for that particular case. More caching can also be added to objects being built when doing Fedora requests via Valkyrie, and we expect that to improve the speed of this and other test cases as well. Daniel Pierce, also a developer at Indiana University and current co-Tech Lead for Hyrax, is working on those changes to Valkyrie and that should be available soon.
More information about the Working Group, our defined deliverables and past updates can all be found on the Samvera wiki here: https://samvera.atlassian.net/wiki/spaces/samvera/pages/2208333826/Hyrax+Fedora+6+Working+Group.
If you have any questions, please do not hesitate to reach out to Heather Greek Klein (hea...@samvera.org) or myself (arran.g...@lyrasis.org) and we will connect you with the right individuals!
Thank you to all of our Working Group participants and those who have contributed performance testing metrics. We appreciate your engagement.
Cheers,
Arrran, on behalf of the Hyrax Fedora 6 Working Group
---
Arran Griffith
Program Manager, Fedora Program
Lyrasis