| java.lang.Object com.tc.objectserver.lockmanager.impl.Lock
Constructor Summary | |
| Lock(LockID lockID, ServerThreadContext txn, int lockLevel, Sink lockResponseSink, long timeout, LockEventListener[] listeners, int lockPolicy, ServerThreadContextFactory threadContextFactory, L2LockStatsManager lockStatsManager) | | Lock(LockID lockID, ServerThreadContext txn, long timeout, LockEventListener[] listeners, int lockPolicy, ServerThreadContextFactory threadContextFactory, L2LockStatsManager lockStatsManager) | | Lock(LockID lockID, long timeout, LockEventListener[] listeners) |
Method Summary | |
synchronized void | addRecalledHolder(ServerThreadContext txn, int lockLevel) | synchronized void | addRecalledPendingRequest(ServerThreadContext txn, int lockLevel, Sink lockResponseSink) | synchronized void | addRecalledTryLockPendingRequest(ServerThreadContext txn, int lockLevel, WaitInvocation timeout, Sink lockResponseSink, WaitTimer waitTimer, WaitTimerCallback callback) | synchronized void | addRecalledWaiter(ServerThreadContext txn, WaitInvocation call, int lockLevel, Sink lockResponseSink, WaitTimer waitTimer, WaitTimerCallback callback) | synchronized void | awardAllReads() | synchronized boolean | canAwardGreedilyOnTheClient(ServerThreadContext threadContext, int lockLevel) | synchronized void | checkAndClearStateOnGreedyAward(ThreadID clientThreadID, NodeID ch, int requestedLevel) | synchronized void | clearStateForNode(NodeID nid) This clears out stuff from the pending and wait lists that belonged to a dead session. | static LockResponseContext | createLockAwardResponseContext(LockID lockID, ServerThreadID threadID, int level) | static LockResponseContext | createLockQueriedResponseContext(LockID lockID, ServerThreadID threadID, int level, int lockRequestQueueLength, Collection greedyHolders, Collection holders, Collection waiters) | static LockResponseContext | createLockRecallResponseContext(LockID lockID, ServerThreadID threadID, int level) | static LockResponseContext | createLockRejectedResponseContext(LockID lockID, ServerThreadID threadID, int level) | static LockResponseContext | createLockStatDisableResponseContext(LockID lockID, NodeID nodeID, ThreadID threadID, int level) | static LockResponseContext | createLockStatEnableResponseContext(LockID lockID, NodeID nodeID, ThreadID threadID, int level, int stackTraceDepth, int statCollectFrequency) | static LockResponseContext | createLockWaitTimeoutResponseContext(LockID lockID, ServerThreadID threadID, int level) | synchronized void | disableClientStat(Set statEnabledClients, Sink lockResponseSink) | synchronized void | enableClientStat(Sink lockResponseSink, int stackTraceDepth, int statCollectFrequency) | public boolean | equals(Object obj) | Collection | getHoldersCollection() | public synchronized int | getHoldersCount() | public Holder | getLockHolder(ServerThreadContext threadContext) | public LockID | getLockID() | int | getLockLevel() | int | getLockPolicy() | synchronized LockMBean | getMBean(DSOChannelManager channelManager) | public synchronized int | getPendingCount() | synchronized int | getWaiterCount() | boolean | hasGreedyHolders() | synchronized boolean | hasPending() | synchronized boolean | hasWaiting() | synchronized boolean | hasWaiting(ServerThreadContext threadContext) | public int | hashCode() | synchronized boolean | holdsGreedyLock(ServerThreadContext threadContext) | synchronized boolean | holdsSomeLock(NodeID nodeID) | synchronized void | interrupt(ServerThreadContext txn) | synchronized boolean | isAllPendingLockRequestsFromNode(NodeID nodeID) | public boolean | isNull() | public synchronized boolean | isRead() | public synchronized boolean | isWrite() | synchronized boolean | nextPending() | synchronized void | notify(ServerThreadContext txn, boolean all, NotifiedWaiters addNotifiedWaitersTo) | void | notifyStarted(WaitTimerCallback callback, WaitTimer timer) | synchronized void | queryLock(ServerThreadContext txn, Sink lockResponseSink) | synchronized boolean | recallCommit(ServerThreadContext threadContext) | synchronized void | reestablishLock(ServerThreadContext threadContext, int requestedLevel, Sink lockResponseSink) | synchronized void | reestablishWait(ServerThreadContext txn, WaitInvocation call, int lockLevel, Sink lockResponseSink) | synchronized boolean | removeCurrentHold(ServerThreadContext threadContext) Remove the specified lock hold. | boolean | requestLock(ServerThreadContext txn, int requestedLockLevel, Sink lockResponseSink) | synchronized boolean | requestLock(ServerThreadContext txn, int requestedLockLevel, Sink lockResponseSink, boolean noBlock, WaitInvocation timeout, WaitTimer waitTimer, WaitTimerCallback callback) | void | setLockPolicy(int newPolicy) | public synchronized String | toString() | boolean | tryRequestLock(ServerThreadContext txn, int requestedLockLevel, WaitInvocation timeout, WaitTimer waitTimer, WaitTimerCallback callback, Sink lockResponseSink) | synchronized void | tryRequestLockTimeout(LockWaitContext context) | synchronized void | wait(ServerThreadContext txn, WaitTimer waitTimer, WaitInvocation call, WaitTimerCallback callback, Sink lockResponseSink) | synchronized void | waitTimeout(LockWaitContext context) |
awardAllReads | synchronized void awardAllReads()(Code) | | |
canAwardGreedilyOnTheClient | synchronized boolean canAwardGreedilyOnTheClient(ServerThreadContext threadContext, int lockLevel)(Code) | | |
checkAndClearStateOnGreedyAward | synchronized void checkAndClearStateOnGreedyAward(ThreadID clientThreadID, NodeID ch, int requestedLevel)(Code) | | |
clearStateForNode | synchronized void clearStateForNode(NodeID nid)(Code) | | This clears out stuff from the pending and wait lists that belonged to a dead session. It occurs to me that this is
a race condition because a request could come in on the connection, then the cleanup could happen, and then the
request could be processed. We need to drop requests that are processed after the cleanup
Parameters: nid - |
disableClientStat | synchronized void disableClientStat(Set statEnabledClients, Sink lockResponseSink)(Code) | | |
enableClientStat | synchronized void enableClientStat(Sink lockResponseSink, int stackTraceDepth, int statCollectFrequency)(Code) | | |
getHoldersCount | public synchronized int getHoldersCount()(Code) | | |
getLockLevel | int getLockLevel()(Code) | | |
getLockPolicy | int getLockPolicy()(Code) | | |
getPendingCount | public synchronized int getPendingCount()(Code) | | |
getWaiterCount | synchronized int getWaiterCount()(Code) | | |
hasGreedyHolders | boolean hasGreedyHolders()(Code) | | |
hasPending | synchronized boolean hasPending()(Code) | | |
hasWaiting | synchronized boolean hasWaiting()(Code) | | |
hashCode | public int hashCode()(Code) | | |
holdsSomeLock | synchronized boolean holdsSomeLock(NodeID nodeID)(Code) | | |
isAllPendingLockRequestsFromNode | synchronized boolean isAllPendingLockRequestsFromNode(NodeID nodeID)(Code) | | |
isNull | public boolean isNull()(Code) | | |
isRead | public synchronized boolean isRead()(Code) | | |
isWrite | public synchronized boolean isWrite()(Code) | | |
nextPending | synchronized boolean nextPending()(Code) | | |
removeCurrentHold | synchronized boolean removeCurrentHold(ServerThreadContext threadContext)(Code) | | Remove the specified lock hold.
true if the current hold was an upgrade |
setLockPolicy | void setLockPolicy(int newPolicy)(Code) | | |
|
|