Class OAtomicOperationsManager
java.lang.Object
com.orientechnologies.orient.core.storage.impl.local.paginated.atomicoperations.OAtomicOperationsManager
- Since:
- 12/3/13
- Author:
- Andrey Lomakin (a.lomakin-at-orientdb.com)
-
Constructor Summary
ConstructorsConstructorDescriptionOAtomicOperationsManager(OAbstractPaginatedStorage storage, int operationsCacheLimit, AtomicOperationsTable atomicOperationsTable) -
Method Summary
Modifier and TypeMethodDescriptionvoidacquireExclusiveLockTillOperationComplete(OAtomicOperation operation, String lockName) Acquires exclusive lock with the given lock name in the given atomic operation.voidacquireExclusiveLockTillOperationComplete(ODurableComponent durableComponent) Acquires exclusive lock in the active atomic operation running on the current thread for thedurableComponent.voidacquireReadLock(ODurableComponent durableComponent) void<T> TcalculateInsideAtomicOperation(byte[] metadata, TxFunction<T> function) <T> TcalculateInsideComponentOperation(OAtomicOperation atomicOperation, ODurableComponent component, TxFunction<T> function) <T> TcalculateInsideComponentOperation(OAtomicOperation atomicOperation, String lockName, TxFunction<T> function) voidendAtomicOperation(Throwable error) Ends the current atomic operation on this manager.voidvoidexecuteInsideAtomicOperation(byte[] metadata, TxConsumer consumer) voidexecuteInsideComponentOperation(OAtomicOperation atomicOperation, ODurableComponent component, TxConsumer consumer) voidexecuteInsideComponentOperation(OAtomicOperation atomicOperation, String lockName, TxConsumer consumer) longfreezeAtomicOperations(Class<? extends OException> exceptionClass, String message) longfinal OAtomicOperationvoidreleaseAtomicOperations(long id) voidreleaseComponentOperations(long freezeId) voidreleaseReadLock(ODurableComponent durableComponent) startAtomicOperation(byte[] metadata) booleantryExecuteInsideComponentOperation(OAtomicOperation atomicOperation, ODurableComponent component, TxConsumer consumer)
-
Constructor Details
-
OAtomicOperationsManager
public OAtomicOperationsManager(OAbstractPaginatedStorage storage, int operationsCacheLimit, AtomicOperationsTable atomicOperationsTable)
-
-
Method Details
-
startAtomicOperation
- Throws:
IOException
-
calculateInsideAtomicOperation
public <T> T calculateInsideAtomicOperation(byte[] metadata, TxFunction<T> function) throws IOException - Throws:
IOException
-
executeInsideAtomicOperation
- Throws:
IOException
-
executeInsideComponentOperation
public void executeInsideComponentOperation(OAtomicOperation atomicOperation, ODurableComponent component, TxConsumer consumer) -
executeInsideComponentOperation
public void executeInsideComponentOperation(OAtomicOperation atomicOperation, String lockName, TxConsumer consumer) -
tryExecuteInsideComponentOperation
public boolean tryExecuteInsideComponentOperation(OAtomicOperation atomicOperation, ODurableComponent component, TxConsumer consumer) -
calculateInsideComponentOperation
public <T> T calculateInsideComponentOperation(OAtomicOperation atomicOperation, ODurableComponent component, TxFunction<T> function) -
calculateInsideComponentOperation
public <T> T calculateInsideComponentOperation(OAtomicOperation atomicOperation, String lockName, TxFunction<T> function) -
freezeComponentOperations
public long freezeComponentOperations() -
releaseComponentOperations
public void releaseComponentOperations(long freezeId) -
alarmClearOfAtomicOperation
public void alarmClearOfAtomicOperation() -
freezeAtomicOperations
-
releaseAtomicOperations
public void releaseAtomicOperations(long id) -
getCurrentOperation
-
endAtomicOperation
Ends the current atomic operation on this manager.- Throws:
IOException
-
ensureThatComponentsUnlocked
public void ensureThatComponentsUnlocked() -
acquireExclusiveLockTillOperationComplete
Acquires exclusive lock with the given lock name in the given atomic operation.- Parameters:
operation- the atomic operation to acquire the lock in.lockName- the lock name to acquire.
-
acquireExclusiveLockTillOperationComplete
Acquires exclusive lock in the active atomic operation running on the current thread for thedurableComponent. -
acquireReadLock
-
releaseReadLock
-