Abstract database behind generic interface and implement alternative drivers #322
No reviewers
Labels
No Label
AdminAPI
Bug
Check AWS
CI
Correctness
Critical
Documentation
Ideas
Improvement
Low priority
Newcomer
Performance
S3 Compatibility
Testing
Usability
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#322
Loading…
Reference in New Issue
No description provided.
Delete Branch "db-abstraction"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
on Sled backendon all backends (i.e. over the abstraction).updated()
trigger on Garage tablesFix #284
Bugs
Known issues for various back-ends
.len()
has to traverse the whole table.iter()
, and the lock isn't released until the iterator is dropped. This means that we must be VERY carefull to not do anything else inside a.iter()
loop or else we will have a deadlock! Most such cases have been eliminated from the Garage codebase, but there might still be some that remain. If your Garage-over-Sqlite seems to hang/freeze, this is the reason.My recommendation: avoid 32-bit machines and use LMDB as much as possible.
Converting databases is actually quite easy. For example from Sled to LMDB:
Then, just add this to your
config.toml
:WIP: Abstract database behind generic interface and implement alternative driversto Abstract database behind generic interface and implement alternative drivers