Class InMemoryRepository.MemRefDatabase

    • Constructor Detail

      • MemRefDatabase

        protected MemRefDatabase()
        Initialize a new in-memory ref database.
    • Method Detail

      • performsAtomicTransactions

        public boolean performsAtomicTransactions()
        Description copied from class: DfsReftableDatabase
        Whether the database is capable of performing batch updates as atomic transactions.

        If true, by default BatchRefUpdate instances will perform updates atomically, meaning either all updates will succeed, or all updates will fail. It is still possible to turn off this behavior on a per-batch basis by calling update.setAtomic(false).

        If false, BatchRefUpdate instances will never perform updates atomically, and calling update.setAtomic(true) will cause the entire batch to fail with REJECTED_OTHER_REASON.

        This definition of atomicity is stronger than what is provided by ReceivePack. ReceivePack will attempt to reject all commands if it knows in advance some commands may fail, even if the storage layer does not support atomic transactions. Here, atomicity applies even in the case of unforeseeable errors.

        Overrides:
        performsAtomicTransactions in class DfsReftableDatabase
        Returns:
        whether transactions are atomic by default.