| Package | Description |
|---|---|
| com.sleepycat.je.dbi |
INTERNAL: Underlying XxxImpl classes for Environment, Database and Cursor,
plus other misc classes (originally, dbi meant "db internal interface").
|
| com.sleepycat.je.rep.txn |
INTERNAL: HA Txn/Locker subclasses for enforcing consistency and durability
constraints.
|
| com.sleepycat.je.txn |
INTERNAL: Transaction management and locking (concurrency control).
|
| Modifier and Type | Method and Description |
|---|---|
OperationResult |
CursorImpl.getNext(DatabaseEntry foundKey,
DatabaseEntry foundData,
LockType lockType,
boolean dirtyReadAll,
boolean forward,
boolean isLatched,
RangeConstraint rangeConstraint)
Move the cursor forward and return the next "valid" record.
|
OperationResult |
CursorImpl.lockAndGetCurrent(DatabaseEntry foundKey,
DatabaseEntry foundData,
LockType lockType)
Lock and copy current record into the key and data DatabaseEntry.
|
OperationResult |
CursorImpl.lockAndGetCurrent(DatabaseEntry foundKey,
DatabaseEntry foundData,
LockType lockType,
boolean dirtyReadAll,
boolean isLatched,
boolean unlatch)
Let S be the slot where this cursor is currently positioned on.
|
LN |
CursorImpl.lockAndGetCurrentLN(LockType lockType)
Retrieve the current LN.
|
void |
CursorImpl.lockEof(LockType lockType)
Locks the logical EOF node for the dbImpl.
|
CursorImpl.LockStanding |
CursorImpl.lockLN(LockType lockType)
Does not allow uncontended locks.
|
boolean |
CursorImpl.searchExact(DatabaseEntry searchKey,
LockType lockType) |
CursorImpl.LockStanding |
CursorImpl.searchExact(DatabaseEntry searchKey,
LockType lockType,
boolean dirtyReadAll,
boolean dataRequested)
Position this cursor on the slot (if any) whose key matches the given
search key.
|
static void |
CursorImpl.traverseDbWithCursor(DatabaseImpl db,
LockType lockType,
boolean allowEviction,
CursorImpl.WithCursor withCursor)
Enumerates all records in a dbImpl non-transactionally and calls
the withCursor method for each record.
|
| Modifier and Type | Method and Description |
|---|---|
LockResult |
MasterTxn.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Prevent this MasterTxn from taking locks if the node becomes a
replica.
|
LockResult |
ReadonlyTxn.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Provides a wrapper to screen for write locks.
|
LockResult |
ReplicaThreadLocker.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
This overridden method prevents writes on a replica.
|
| Modifier and Type | Field and Description |
|---|---|
protected LockType |
LockInfo.lockType |
static LockType |
LockType.NONE
NONE is used for requesting a dirty read and does not appear in the
conflict or upgrade matrices.
|
static LockType |
LockType.RANGE_INSERT |
static LockType |
LockType.RANGE_READ |
static LockType |
LockType.RANGE_WRITE |
static LockType |
LockType.READ
Lock types.
|
static LockType |
LockType.RESTART
RESTART is used for waiting for a restart and does not appear in the
conflict or upgrade matrices.
|
static LockType |
LockType.WRITE |
| Modifier and Type | Method and Description |
|---|---|
LockType |
LockImpl.getOwnedLockType(Locker locker) |
LockType |
ThinLockImpl.getOwnedLockType(Locker locker) |
LockType |
DummyLockManager.getOwnedLockType(Long lsn,
Locker locker) |
abstract LockType |
LockManager.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.
|
LockType |
SyncedLockManager.getOwnedLockType(Long lsn,
Locker locker) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
Txn.addLock(Long lsn,
LockType type,
LockGrantType grantStatus)
Add lock to the appropriate queue.
|
protected void |
BasicLocker.addLock(Long lsn,
LockType type,
LockGrantType grantStatus)
Add a lock to set owned by this transaction.
|
protected abstract void |
Locker.addLock(Long lsn,
LockType type,
LockGrantType grantStatus)
Add a lock to set owned by this transaction.
|
boolean |
LockImpl.isOwner(Locker locker,
LockType lockType)
Return true if locker is an owner of this Lock for lockType,
false otherwise.
|
boolean |
ThinLockImpl.isOwner(Locker locker,
LockType lockType) |
LockAttemptResult |
LockImpl.lock(LockType requestType,
Locker locker,
boolean nonBlockingRequest,
boolean jumpAheadOfWaiters,
MemoryBudget mb,
int lockTableIndex)
Attempts to acquire the lock and returns the LockGrantType.
|
LockAttemptResult |
ThinLockImpl.lock(LockType requestType,
Locker locker,
boolean nonBlockingRequest,
boolean jumpAheadOfWaiters,
MemoryBudget mb,
int lockTableIndex) |
LockGrantType |
LockManager.lock(long lsn,
Locker locker,
LockType type,
long timeout,
boolean nonBlockingRequest,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Attempt to acquire a lock of 'type' on 'lsn'.
|
LockResult |
Locker.lock(long lsn,
LockType lockType,
boolean noWait,
DatabaseImpl database)
Request a blocking or non-blocking lock of the given type on the given
LSN.
|
protected LockResult |
Txn.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Gets a lock on this LSN and, if it is a write lock, saves an abort
LSN.
|
protected LockResult |
BasicLocker.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database) |
protected LockResult |
ReadCommittedLocker.lockInternal(long lsn,
LockType lockType,
boolean noWait,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Forwards write locks to the buddy locker (the transaction locker).
|
LockResult |
Locker.nonBlockingLock(long lsn,
LockType lockType,
boolean jumpAheadOfWaiters,
DatabaseImpl database)
Request a non-blocking lock of the given type on the given LSN.
|
void |
LockUpgrade.setUpgrade(LockType upgrade) |
LockAttemptResult |
DummyLockManager.stealLock(Long lsn,
Locker locker,
LockType lockType) |
abstract LockAttemptResult |
LockManager.stealLock(Long lsn,
Locker locker,
LockType lockType) |
LockAttemptResult |
SyncedLockManager.stealLock(Long lsn,
Locker locker,
LockType lockType) |
| Constructor and Description |
|---|
LockInfo(Locker locker,
LockType lockType)
Construct a new LockInfo.
|
Copyright © 2024. All rights reserved.