Improve ledger cache management with idle timeout #1151
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.
Changes
Ledger Release
fluree.db.api/release-ledger- Removes ledger from connection cache and cleans up resources (index queues, nameservice subscriptions)Idle Timeout
:ledger-cache-idle-minutesconfig option (default: disabled)Disconnect Improvements
:disconnecting?flag to prevent new operations during disconnectasync/mergeImplementation Details
connection.cljc: Addedstart-idle-cleanup-loop,touch-ledger-access,close-ledger-resources,release-ledgerapi.cljc: Updateddisconnectfor parallel release, addedrelease-ledgerwrapper, updatedvalidate-connectionnameservice/storage.cljc: Helper functions for indexing status trackingTest Coverage
Added
test/fluree/db/connection/disconnect_test.cljwith 4 tests (8 assertions):