| 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.evictor |
INTERNAL: Evicts data from the main and off-heap caches when they overflow.
|
| com.sleepycat.je.incomp |
INTERNAL: IN compressor performs background deletion of defunct IN slots
and deletes empty INs.
|
| com.sleepycat.je.log |
INTERNAL: Low level data storage including log entry sequential
logging/writing, random reading/fetching, and sequential reading.
|
| com.sleepycat.je.log.entry |
INTERNAL: Classes for serializing/materializing log entries.
|
| com.sleepycat.je.recovery |
INTERNAL: Performs recovery/startup processing during Environment open, and
checkpoints to bound recovery time.
|
| com.sleepycat.je.tree |
INTERNAL: Btree data structure (the JE main cache), including persistent
nodes classes, and Btree access methods.
|
| com.sleepycat.je.tree.dupConvert |
INTERNAL: Defunct Btree classes for old duplicate Btrees, only used during
recovery.
|
| com.sleepycat.je.utilint |
INTERNAL: Misc utility classes, including some stat classes.
|
| Modifier and Type | Method and Description |
|---|---|
IN |
SortedLSNTreeWalker.getResidentRootIN(DatabaseImpl dbImpl)
The default behavior returns (and latches shared) the IN if it is
resident in the Btree, or null otherwise.
|
| Modifier and Type | Method and Description |
|---|---|
Iterator<IN> |
INList.iterator()
Return an iterator over the main 'ins' set.
|
| Modifier and Type | Method and Description |
|---|---|
void |
INList.add(IN in)
An IN has just come into memory, add it to the list.
|
boolean |
INList.contains(IN in) |
Provisional |
EnvironmentImpl.coordinateWithCheckpoint(DatabaseImpl dbImpl,
int targetLevel,
IN parent)
Coordinates an eviction with an in-progress checkpoint and returns
whether provisional logging is needed.
|
void |
EnvironmentImpl.lazyCompress(IN in) |
void |
EnvironmentImpl.lazyCompress(IN in,
boolean compressDirtySlots) |
void |
INList.memRecalcIterate(IN in)
An IN was encountered during the iteration through the entire INList.
|
void |
INList.memRecalcUpdate(IN in,
long delta)
The size of an IN is changing.
|
void |
INList.remove(IN in)
An IN is being evicted.
|
| Modifier and Type | Method and Description |
|---|---|
List<IN> |
Evictor.getPri1LRUList()
Returns a copy of the LRU list, for tightly controlled testing.
|
| Modifier and Type | Method and Description |
|---|---|
void |
Evictor.addBack(IN node)
Add the node to the back of the priority-1 LRUSet.
|
void |
Evictor.addFront(IN node)
Add the node to the front of the priority-1 LRUSet.
|
boolean |
Evictor.contains(IN node) |
INLogEntry<BIN> |
OffHeapCache.createBINLogEntryForCheckpoint(IN parent,
int index) |
long |
Evictor.doCacheModeEvict(IN target,
CacheMode cacheMode)
Evict a specific IN, used by cache modes.
|
long |
Evictor.doTestEvict(IN target,
Evictor.EvictionSource source)
Evict a specific IN, used by tests.
|
long |
OffHeapCache.freeBIN(BIN bin,
IN parent,
int index) |
byte[] |
OffHeapCache.getBINBytes(IN parent,
int index) |
boolean |
OffHeapCache.haveBINBytesChanged(IN parent,
int index,
byte[] bytes)
Called when a BIN's bytes were obtained holding a shared latch, and then
the latch was released and acquired again.
|
void |
Evictor.moveBack(IN node)
Move the node to the back of its containing LRUList, if any.
|
void |
Evictor.moveFront(IN node)
Move the node to the front of its containing LRUList, if any.
|
void |
Evictor.moveToPri1LRU(IN node)
Move the node from the priority-2 LRUSet to the priority-1 LRUSet, if
the node is indeed in the priority-2 LRUSet.
|
long |
OffHeapCache.mutateToBINDelta(IN parent,
int index) |
void |
OffHeapCache.postBINLoad(IN parent,
int index,
BIN bin) |
void |
OffHeapCache.postBINLog(IN parent,
int index,
INLogEntry<BIN> logEntry,
long newLsn) |
void |
Evictor.remove(IN node)
Remove a node from its current LRUList, if any.
|
long |
OffHeapCache.removeINFromMain(IN in)
Called:
- after eviction of an IN from main cache, and in that case
storeEvictedBIN was called and the eviction was completed.
|
void |
OffHeapCache.setOwner(int entry,
IN owner) |
boolean |
OffHeapCache.storeEvictedBIN(BIN bin,
IN parent,
int index)
Called before eviction of a BIN from main cache to provide an
opportunity to store the BIN off-heap.
|
boolean |
OffHeapCache.storePreloadedBIN(BIN bin,
IN parent,
int index)
Called when a BIN has been fetched from disk and should be stored
off-heap.
|
long |
OffHeapCache.stripLNs(IN parent,
int index) |
| Modifier and Type | Method and Description |
|---|---|
void |
Evictor.setEvictProfileHook(TestHook<IN> hook) |
| Modifier and Type | Method and Description |
|---|---|
void |
INCompressor.lazyCompress(IN in,
boolean compressDirtySlots)
Lazily/opportunistically compress a full BIN.
|
| Modifier and Type | Method and Description |
|---|---|
IN |
CleanerFileReader.getIN(DatabaseImpl dbImpl)
Get the last entry seen by the reader as an IN.
|
IN |
INFileReader.getIN(DatabaseImpl dbImpl)
Get the last IN seen by the reader.
|
| Modifier and Type | Class and Description |
|---|---|
class |
INLogEntry<T extends IN>
- INLogEntry is used to read/write full-version IN logrecs.
|
| Modifier and Type | Method and Description |
|---|---|
static <T extends IN> |
INLogEntry.create(Class<T> INClass)
Construct a log entry for reading.
|
| Modifier and Type | Method and Description |
|---|---|
IN |
OldBINDeltaLogEntry.getIN(DatabaseImpl dbImpl) |
IN |
INLogEntry.getIN(DatabaseImpl dbImpl) |
IN |
INContainingEntry.getIN(DatabaseImpl dbImpl)
Currently used by recovery only.
|
| Constructor and Description |
|---|
BINDeltaLogEntry(ByteBuffer bytes,
long lastFullLsn,
long lastDeltaLsn,
LogEntryType logEntryType,
IN parent)
Used to write a pre-serialized log entry.
|
INLogEntry(ByteBuffer bytes,
long lastFullLsn,
long lastDeltaLsn,
LogEntryType logEntryType,
IN parent)
Used to write a pre-serialized log entry.
|
| Modifier and Type | Method and Description |
|---|---|
Provisional |
Checkpointer.coordinateEvictionWithCheckpoint(DatabaseImpl db,
int targetLevel,
IN parent)
Coordinates an eviction with an in-progress checkpoint and returns
whether provisional logging is needed.
|
void |
Checkpointer.coordinateSplitWithCheckpoint(IN newSibling)
Coordinates a split with an in-progress checkpoint.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BIN
A BIN represents a Bottom Internal Node in the JE tree.
|
| Modifier and Type | Field and Description |
|---|---|
IN |
SearchResult.parent |
| Modifier and Type | Method and Description |
|---|---|
protected IN |
BIN.createNewInstance(byte[] identifierKey,
int maxEntries,
int level)
Create a new BIN.
|
IN |
WithRootLatched.doWork(ChildReference root)
doWork is called while the tree's root latch is held.
|
IN |
IN.fetchIN(int idx,
CacheMode cacheMode)
Returns the idx-th child of "this" upper IN, fetching the child from
the log and attaching it to its parent if it is not already attached.
|
IN |
Tree.getNextIN(IN prevIn,
boolean forward,
boolean latchShared,
CacheMode cacheMode)
Returns the next IN in the tree before/after the given IN, and at the
same level.
|
IN |
IN.getNextLRUNode() |
IN |
IN.getParent()
This method should be used carefully.
|
IN |
IN.getPrevLRUNode() |
IN |
Tree.getResidentRootIN(boolean latched) |
IN |
Tree.getRootIN(CacheMode cacheMode)
Helper to obtain the root IN with shared root latching.
|
IN |
Tree.getRootINLatchedExclusive(CacheMode cacheMode)
Helper to obtain the root IN with exclusive root latching.
|
IN |
Tree.getRootINRootAlreadyLatched(CacheMode cacheMode,
boolean exclusive)
Helper to obtain the root IN, when the root latch is already held.
|
IN |
IN.latchParent()
Latches the parent exclusively, leaving this node latched.
|
IN |
IN.loadIN(int idx,
CacheMode cacheMode)
Returns the idx-th child of "this" upper IN, loading the child from
off-heap and attaching it to its parent if it is not already attached
and is cached off-heap.
|
IN |
IN.split(IN parent,
int childIndex,
IN grandParent,
int maxEntries)
Split this into two nodes.
|
IN |
Tree.withRootLatchedExclusive(WithRootLatched wrl) |
IN |
Tree.withRootLatchedShared(WithRootLatched wrl) |
| Modifier and Type | Method and Description |
|---|---|
abstract INLongRep |
INLongRep.clear(IN parent,
INLongRep.EmptyRep emptyRep) |
INLongRep |
INLongRep.EmptyRep.clear(IN parent,
INLongRep.EmptyRep emptyRep) |
INLongRep |
INLongRep.DefaultRep.clear(IN parent,
INLongRep.EmptyRep emptyRep) |
INLongRep |
INLongRep.SparseRep.clear(IN parent,
INLongRep.EmptyRep emptyRep) |
INTargetRep |
INTargetRep.Default.compact(IN parent) |
INTargetRep |
INTargetRep.Sparse.compact(IN parent) |
INTargetRep |
INTargetRep.None.compact(IN parent) |
INKeyRep |
INKeyRep.Default.compact(IN parent)
Evolves to the MaxKeySize representation if that is more efficient
for the current set of keys.
|
INKeyRep |
INKeyRep.MaxKeySize.compact(IN parent) |
abstract ARRAY_BASE_TYPE |
INArrayRep.compact(IN parent)
Chooses a more compact representation, if that's possible, otherwise
does nothing.
|
abstract INLongRep |
INLongRep.compact(IN parent,
INLongRep.EmptyRep emptyRep) |
INLongRep |
INLongRep.EmptyRep.compact(IN parent,
INLongRep.EmptyRep emptyRep) |
INLongRep |
INLongRep.DefaultRep.compact(IN parent,
INLongRep.EmptyRep emptyRep) |
INLongRep |
INLongRep.SparseRep.compact(IN parent,
INLongRep.EmptyRep emptyRep) |
int |
IN.compareTo(IN argIN)
Sort based on equality key.
|
INTargetRep |
INTargetRep.Default.copy(int from,
int to,
int n,
IN parent) |
INTargetRep |
INTargetRep.Sparse.copy(int from,
int to,
int n,
IN parent) |
INTargetRep |
INTargetRep.None.copy(int from,
int to,
int n,
IN parent) |
INKeyRep |
INKeyRep.Default.copy(int from,
int to,
int n,
IN parent) |
INKeyRep |
INKeyRep.MaxKeySize.copy(int from,
int to,
int n,
IN parent) |
abstract ARRAY_BASE_TYPE |
INArrayRep.copy(int from,
int to,
int n,
IN parent)
Copies n elements at index denoted by "from" to the index denoted by
"to".
|
abstract INLongRep |
INLongRep.copy(int from,
int to,
int n,
IN parent) |
INLongRep |
INLongRep.EmptyRep.copy(int from,
int to,
int n,
IN parent) |
INLongRep |
INLongRep.DefaultRep.copy(int from,
int to,
int n,
IN parent) |
INLongRep |
INLongRep.SparseRep.copy(int from,
int to,
int n,
IN parent) |
Node |
ChildReference.fetchTarget(DatabaseImpl database,
IN parent)
Fetch the target object that this ChildReference refers to.
|
IN |
Tree.getNextIN(IN prevIn,
boolean forward,
boolean latchShared,
CacheMode cacheMode)
Returns the next IN in the tree before/after the given IN, and at the
same level.
|
SearchResult |
Tree.getParentINForChildIN(IN child,
boolean useTargetLevel,
boolean doFetch,
CacheMode cacheMode)
Search for the parent P of a given IN C (where C is viewed as a logical
node; not as a java obj).
|
SearchResult |
Tree.getParentINForChildIN(IN child,
boolean useTargetLevel,
boolean doFetch,
CacheMode cacheMode,
List<TrackingInfo> trackingList)
This version of getParentINForChildIN does the same thing as the version
above, but also adds a "trackingList" param.
|
long |
IN.log(boolean allowDeltas,
boolean isProvisional,
boolean backgroundIO,
IN parent) |
long |
IN.log(boolean allowDeltas,
Provisional provisional,
boolean backgroundIO,
IN parent) |
static long |
IN.logEntry(INLogEntry<BIN> logEntry,
Provisional provisional,
boolean backgroundIO,
IN parent) |
void |
TreeWalkerStatsAccumulator.processIN(IN node,
Long nid,
int level) |
abstract INKeyRep |
INKeyRep.set(int idx,
byte[] key,
byte[] data,
IN parent) |
INKeyRep |
INKeyRep.Default.set(int idx,
byte[] key,
byte[] data,
IN parent) |
INKeyRep |
INKeyRep.MaxKeySize.set(int idx,
byte[] key,
byte[] data,
IN parent) |
INKeyRep |
INKeyRep.Default.set(int idx,
byte[] key,
IN parent) |
INKeyRep |
INKeyRep.MaxKeySize.set(int idx,
byte[] key,
IN parent) |
abstract ARRAY_BASE_TYPE |
INArrayRep.set(int idx,
ELEMENT_TYPE e,
IN parent)
Sets the array element at idx to the node.
|
abstract INLongRep |
INLongRep.set(int idx,
long val,
IN parent) |
INLongRep |
INLongRep.EmptyRep.set(int idx,
long val,
IN parent)
When adding to the cache the EMPTY_REP is mutated into a
DefaultRep.
|
INLongRep |
INLongRep.DefaultRep.set(int idx,
long val,
IN parent)
Mutates to a DefaultRep with a larger number of bytes if necessary
to hold the given value.
|
INLongRep |
INLongRep.SparseRep.set(int idx,
long val,
IN parent) |
INTargetRep |
INTargetRep.Default.set(int idx,
Node node,
IN parent) |
INTargetRep |
INTargetRep.Sparse.set(int j,
Node node,
IN parent) |
INTargetRep |
INTargetRep.None.set(int idx,
Node node,
IN parent) |
abstract INKeyRep |
INKeyRep.setData(int idx,
byte[] data,
IN parent) |
INKeyRep |
INKeyRep.Default.setData(int idx,
byte[] data,
IN parent) |
INKeyRep |
INKeyRep.MaxKeySize.setData(int idx,
byte[] data,
IN parent) |
void |
IN.setNextLRUNode(IN node) |
void |
IN.setParent(IN in) |
void |
IN.setPrevLRUNode(IN node) |
IN |
IN.split(IN parent,
int childIndex,
IN grandParent,
int maxEntries)
Split this into two nodes.
|
void |
Tree.validateINList(IN parent)
Debugging check that all resident nodes are on the INList and no stray
nodes are present in the unused portion of the IN arrays.
|
| Modifier and Type | Class and Description |
|---|---|
class |
DBIN
A DBIN represents an Duplicate Bottom Internal Node in the JE tree.
|
class |
DIN
An DIN represents an Duplicate Internal Node in the JE tree.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
DupConvert.convertInKeys(DatabaseImpl dbImpl,
IN in)
Changes all keys to "prefix keys" in the given IN.
|
| Modifier and Type | Method and Description |
|---|---|
void |
StatsAccumulator.processIN(IN node,
Long nid,
int level) |
Copyright © 2024. All rights reserved.