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