[go: up one dir, main page]

Skip to content

Implement missing serializability checks for alternates

TransactionManager is missing some serializability checks for alternates.

  • If a repository is linked on creation to alternate, we need to check that the alternate repository was not concurrently removed.
  • If a repository is deleted, we need to check that it wasn't linked as an alternate of any other repository concurrently.

Checks that we've already implemented:

  • Ensure that the target repository isn't already connected.
  • Ensure that the alternate isn't connected to an alternate

These could all be generalized to just rejecting all conflicting (write/write, write/read) operations to the target's and the alternate's 'objects/info/alternates'.

Edited by Sami Hiltunen
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information