|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.je.txn.LockManager
com.sleepycat.je.txn.DummyLockManager
public class DummyLockManager
DummyLockManager performs no locking for DS mode.
Field Summary |
---|
Fields inherited from class com.sleepycat.je.txn.LockManager |
---|
lockTableLatches, nLockTables, TOTAL_LOCKIMPL_OVERHEAD, TOTAL_THINLOCKIMPL_OVERHEAD |
Constructor Summary | |
---|---|
DummyLockManager(EnvironmentImpl envImpl,
LockManager superiorLockManager)
|
Method Summary | |
---|---|
(package private) LockAttemptResult |
attemptLock(Long lsn,
Locker locker,
LockType type,
boolean nonBlockingRequest,
boolean jumpAheadOfWaiters)
|
(package private) void |
demote(long lsn,
Locker locker)
Demote a lock from write to read. |
(package private) void |
dumpLockTable(StatGroup stats,
boolean clear)
Dump the lock table to the lock stats. |
LockType |
getOwnedLockType(Long lsn,
Locker locker)
Returns the LockType if the given locker owns a lock on the given node, or null if the lock is not owned. |
Set<LockInfo> |
getOwners(Long lsn)
Returns the Lockers that own a lock on the given LSN. |
(package private) Locker |
getWriteOwnerLocker(Long lsn)
|
(package private) boolean |
isLocked(Long lsn)
Test the status of the lock on LSN. |
boolean |
isLockUncontended(Long lsn)
|
(package private) boolean |
isOwner(Long lsn,
Locker locker,
LockType type)
Return true if this locker owns this a lock of this type on given node. |
(package private) boolean |
isWaiter(Long lsn,
Locker locker)
Return true if this locker is waiting on this lock. |
(package private) Lock |
lookupLock(Long lsn)
|
(package private) LockConflictException |
makeTimeoutMsg(boolean isLockNotTxnTimeout,
Locker locker,
long lsn,
LockType type,
LockGrantType grantType,
Lock useLock,
long timeout,
long start,
long now,
DatabaseImpl database)
Create a informative lock or txn timeout message. |
(package private) int |
nOwners(Long lsn)
Return the number of owners of this lock. |
(package private) int |
nWaiters(Long lsn)
Return the number of waiters for this lock. |
(package private) Set<Locker> |
releaseAndFindNotifyTargets(long lsn,
Locker locker)
Release the lock, and return the set of new owners to notify, if any. |
protected LockAttemptResult |
stealLock(Long lsn,
Locker locker,
LockType lockType,
MemoryBudget mb)
|
(package private) boolean |
validateOwnership(Long lsn,
Locker locker,
LockType type,
boolean flushFromWaiters,
MemoryBudget mb)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DummyLockManager(EnvironmentImpl envImpl, LockManager superiorLockManager)
Method Detail |
---|
public Set<LockInfo> getOwners(Long lsn)
LockManager
getOwners
in class LockManager
public LockType getOwnedLockType(Long lsn, Locker locker)
LockManager
getOwnedLockType
in class LockManager
public boolean isLockUncontended(Long lsn)
isLockUncontended
in class LockManager
Lock lookupLock(Long lsn) throws DatabaseException
lookupLock
in class LockManager
DatabaseException
LockManager.lookupLock(java.lang.Long)
LockAttemptResult attemptLock(Long lsn, Locker locker, LockType type, boolean nonBlockingRequest, boolean jumpAheadOfWaiters) throws DatabaseException
attemptLock
in class LockManager
DatabaseException
LockManager.attemptLock(java.lang.Long, com.sleepycat.je.txn.Locker, com.sleepycat.je.txn.LockType, boolean, boolean)
LockConflictException makeTimeoutMsg(boolean isLockNotTxnTimeout, Locker locker, long lsn, LockType type, LockGrantType grantType, Lock useLock, long timeout, long start, long now, DatabaseImpl database) throws DatabaseException
LockManager
makeTimeoutMsg
in class LockManager
DatabaseException
LockManager.makeTimeoutMsg(boolean, com.sleepycat.je.txn.Locker, long, com.sleepycat.je.txn.LockType, com.sleepycat.je.txn.LockGrantType, com.sleepycat.je.txn.Lock, long, long, long, com.sleepycat.je.dbi.DatabaseImpl)
Set<Locker> releaseAndFindNotifyTargets(long lsn, Locker locker) throws DatabaseException
LockManager
releaseAndFindNotifyTargets
in class LockManager
DatabaseException
LockManager.releaseAndFindNotifyTargets(long, com.sleepycat.je.txn.Locker)
void demote(long lsn, Locker locker) throws DatabaseException
LockManager
demote
in class LockManager
DatabaseException
LockManager.demote(long, com.sleepycat.je.txn.Locker)
boolean isLocked(Long lsn) throws DatabaseException
LockManager
isLocked
in class LockManager
lsn
- The LSN to check.
DatabaseException
LockManager.isLocked(java.lang.Long)
boolean isOwner(Long lsn, Locker locker, LockType type) throws DatabaseException
LockManager
isOwner
in class LockManager
DatabaseException
LockManager.isOwner(java.lang.Long, com.sleepycat.je.txn.Locker, com.sleepycat.je.txn.LockType)
boolean isWaiter(Long lsn, Locker locker) throws DatabaseException
LockManager
isWaiter
in class LockManager
DatabaseException
LockManager.isWaiter(java.lang.Long, com.sleepycat.je.txn.Locker)
int nWaiters(Long lsn) throws DatabaseException
LockManager
nWaiters
in class LockManager
DatabaseException
LockManager.nWaiters(java.lang.Long)
int nOwners(Long lsn) throws DatabaseException
LockManager
nOwners
in class LockManager
DatabaseException
LockManager.nOwners(java.lang.Long)
Locker getWriteOwnerLocker(Long lsn) throws DatabaseException
getWriteOwnerLocker
in class LockManager
DatabaseException
LockManager#getWriterOwnerLocker
boolean validateOwnership(Long lsn, Locker locker, LockType type, boolean flushFromWaiters, MemoryBudget mb) throws DatabaseException
validateOwnership
in class LockManager
DatabaseException
LockManager.validateOwnership(java.lang.Long, com.sleepycat.je.txn.Locker, com.sleepycat.je.txn.LockType, boolean, com.sleepycat.je.dbi.MemoryBudget)
protected LockAttemptResult stealLock(Long lsn, Locker locker, LockType lockType, MemoryBudget mb) throws DatabaseException
stealLock
in class LockManager
DatabaseException
LockManager.stealLock(java.lang.Long, com.sleepycat.je.txn.Locker, com.sleepycat.je.txn.LockType, com.sleepycat.je.dbi.MemoryBudget)
void dumpLockTable(StatGroup stats, boolean clear) throws DatabaseException
LockManager
dumpLockTable
in class LockManager
DatabaseException
LockManager.dumpLockTable(com.sleepycat.je.utilint.StatGroup, boolean)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |