Skip to content

Call Archiving commands asynchronously from UI to avoid timeouts#12101

Open
qqmyers wants to merge 5 commits intoIQSS:developfrom
QualitativeDataRepository:Arch2-asyncArchiveCommands
Open

Call Archiving commands asynchronously from UI to avoid timeouts#12101
qqmyers wants to merge 5 commits intoIQSS:developfrom
QualitativeDataRepository:Arch2-asyncArchiveCommands

Conversation

@qqmyers
Copy link
Member

@qqmyers qqmyers commented Jan 21, 2026

What this PR does / why we need it: When archiving takes too long (e.g. a 10K file dataset), launching it from the UI can cause a timeout/rollback. This PR updates the code to archive a version from the versions table to run asynchronously and to handle any OptimisticLockException if the dataset changes before the archiving in the background completes.

Which issue(s) this PR closes:

  • Closes #

Special notes for your reviewer:
FWIW: This is one of several PRs related to updates being done to improve archiving scalability at QDR and DANS. Some are relatively minor cleanup while others are more significant. I'm submitting them all to avoid drift in QDR's fork and to leverage QDR testing (where all of these are being tested together).

Note: - another PR is coming that will use the asyncCommand call when doing an 'Update-Current-Version' publish action.

Suggestions on how to test this: Regression - confirm that calling an archiving workflow from the versions table still works. Not sure it's practical to try archiving something big enough to see the timeout issue with the current code.

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

Is there a release notes update needed for this change?: Will create an aggregate one.

Additional documentation:

@coveralls
Copy link

coveralls commented Jan 21, 2026

Coverage Status

coverage: 24.33% (-0.004%) from 24.334%
when pulling cc0d6e4 on QualitativeDataRepository:Arch2-asyncArchiveCommands
into cc37d4d on IQSS:develop.

@qqmyers qqmyers changed the title Arch2 async archive commands Call Archiving commands asynchronously from UI to avoid timeouts Jan 21, 2026
@qqmyers qqmyers added Size: 3 A percentage of a sprint. 2.1 hours. GDCC: QDR of interest to QDR labels Jan 28, 2026
@qqmyers qqmyers added this to the 6.10 milestone Jan 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GDCC: QDR of interest to QDR Size: 3 A percentage of a sprint. 2.1 hours.

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants