public class ReplicaThreadLocker extends ThreadLocker
afterWaiterHook, envImpl, id, lockManager, thread| Constructor and Description |
|---|
ReplicaThreadLocker(RepImpl repImpl) |
| Modifier and Type | Method and Description |
|---|---|
void |
disallowReplicaWrite()
Unconditionally throws ReplicaWriteException because this locker was
created on a replica.
|
LockResult |
lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
This overridden method prevents writes on a replica.
|
ThreadLocker |
newEmptyThreadLockerClone() |
void |
openCursorHook(DatabaseImpl dbImpl)
Verifies that consistency requirements are met before allowing the
cursor to be opened.
|
void |
preLogWithoutLock(DatabaseImpl database)
If logging occurs before locking, we must screen out write locks here.
|
checkPreempted, checkState, createThreadLocker, lockAfterLsnChange, newNonTxnLocker, sharesLocksWithaddDbCleanup, addLock, collectStats, createBasicLocker, createBasicLocker, generateId, getTxnLocker, getWriteLockInfo, getWriteOwnerLocker, isReadCommittedIsolation, isSerializableIsolation, isTransactional, lockingRequired, nonTxnOperationEnd, operationEnd, registerCursor, releaseNonTxnLocks, unRegisterCursoraddDeleteInfo, addOpenedDatabase, allowReleaseLockAfterLsnChange, demoteLock, dumpLockTable, getDefaultNoWait, getEnvironment, getId, getImportunate, getInitialLockTimeout, getLockTimeout, getPreemptable, getTransaction, getTxnTimeout, isLocalWrite, isReadOnly, isReadUncommittedDefault, isReplicated, isRolledBack, isTimedOut, isValid, lock, nonBlockingLock, operationEnd, operationEnd, releaseLock, setClosingLocker, setDefaultNoWait, setImportunate, setLockTimeout, setOnlyAbortable, setPreemptable, setPreempted, setTxnTimeout, toStringpublic ReplicaThreadLocker(RepImpl repImpl)
public ThreadLocker newEmptyThreadLockerClone()
newEmptyThreadLockerClone in class ThreadLockerpublic LockResult lockInternal(long lsn, LockType lockType, boolean noWait, boolean jumpAheadOfWaiters, DatabaseImpl database)
lockInternal in class BasicLockerlsn - is the node to lock.lockType - is the type of lock to request.noWait - is true to override the defaultNoWait setting. If true,
or if defaultNoWait is true, throws LockNotAvailableException if the
lock cannot be granted without waiting.jumpAheadOfWaiters - grant the lock before other waiters, if any.database - is the database containing lsn.public void preLogWithoutLock(DatabaseImpl database)
preLogWithoutLock in class BasicLockerpublic void disallowReplicaWrite()
disallowReplicaWrite in class Lockerpublic void openCursorHook(DatabaseImpl dbImpl) throws ReplicaConsistencyException
openCursorHook in class LockerReplicaConsistencyExceptionCopyright © 2024. All rights reserved.