aleo-setup icon indicating copy to clipboard operation
aleo-setup copied to clipboard

Make logical sets of storage changes transactional

Open kellpossible opened this issue 4 years ago • 1 comments

At the moment, we have logical sets of changes to the storage which can fail halfway, and leave the file system in an indeterminate/incorrect state which is difficult to recover from. It would be good if we can ensure that these changes can be treated as a transaction that must succeed, otherwise all changes will be reversed, leaving the file system in its original state before the transaction was attempted.

kellpossible avatar Sep 02 '21 03:09 kellpossible

Libraries that look interesting could perhaps be used or inspiration for solving this:

  • https://github.com/lostatc/acid-store
  • https://github.com/zboxfs/zbox
  • https://github.com/facebook/rocksdb/wiki/Transactions
  • https://www.sqlite.org/lang_transaction.html

Switching to Sqlite or RocksDB for storage has been suggested before, this could be an additional point in their favour.

kellpossible avatar Sep 02 '21 04:09 kellpossible