fix(swing-store): increase export timeout #8524
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes: #8523
Description
During swing-store export, open the DB with a larger timeout (default 5s), and make sure the DB is in WAL mode. #8522 changed the journaling during import to
off
which means a freshly imported DB cannot start a transaction. Furthermore starting a transaction (or switching the journal mode) requires temporarily acquiring some locks in the DB, which seems to conflict with the long transactions active during swingset execution, so increase the timeout during export to hopefully resolve the SQLITE_BUSY issues we've seen.Security Considerations
None
Scaling Considerations
None
Documentation Considerations
None
Testing Considerations
Manually verified an export right after a state-sync import is possible again.
Will try syncing a node where the SQLITE_BUSY errors reproduced consistently before.
Upgrade Considerations
None