BPlusTree.Get, BPlusTree.Insert, BPlusTree.Invoke, BPlusTree.Put, BPlusTree.Remove, BPlusTree.RemoveRange, BPlusTree.Replace, BPlusTree.Result, BPlusTree.Search, BPlusTree.TreeRowClosure<L,T extends L>, BPlusTree.TreeRowFactory<L,T extends L>, BPlusTree.TreeVisitorClosure<L,T extends L>IgniteTree.InvokeClosure<T>, IgniteTree.OperationType| Modifier and Type | Field and Description |
|---|---|
static int |
IGNITE_MAX_INDEX_PAYLOAD_SIZE_DEFAULT
Default value for
IGNITE_MAX_INDEX_PAYLOAD_SIZE |
static int |
IGNITE_VARIABLE_TYPE_DEFAULT_INLINE_SIZE
Default sql index size for types with variable length (such as String or byte[]).
|
CONC_DESTROY_MSG, IGNITE_BPLUS_TREE_LOCK_RETRIES_DEFAULT, metaPageId, suspendFailureDiagnostic, testHndWrappergrpId, grpName, metrics, pageFlag, pageIoRslvr, pageMem, reuseList, rnd, wal| Constructor and Description |
|---|
InlineIndexTree(SortedIndexDefinition def,
CacheGroupContext grpCtx,
String treeName,
IgniteCacheOffheapManager offheap,
ReuseList reuseList,
PageMemory pageMemory,
PageIoResolver pageIoResolver,
long metaPageId,
boolean initNew,
int configuredInlineSize,
int maxInlineSize,
IndexKeyTypeSettings keyTypeSettings,
@Nullable IndexRowCache idxRowCache,
@Nullable IoStatisticsHolder stats,
InlineIndexRowHandlerFactory rowHndFactory,
InlineRecommender recommender)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
CacheGroupContext |
cacheGroupContext()
Getting cache group context.
|
protected int |
compare(BPlusIO<IndexRow> io,
long pageAddr,
int idx,
IndexRow row) |
static int |
computeInlineSize(String name,
List<InlineIndexKeyType> keyTypes,
List<IndexKeyDefinition> keyDefs,
int cfgInlineSize,
int maxInlineSize,
IgniteLogger log) |
void |
copyMetaInfo(MetaPageInfo info)
Copy info from another meta page.
|
protected CorruptedTreeException |
corruptedTreeException(String msg,
Throwable cause,
int grpId,
long... pageIds)
Construct the exception and invoke failure processor.
|
boolean |
created() |
IndexRowImpl |
createIndexRow(long link)
Creates an index row for this tree.
|
IndexRowImpl |
createMvccIndexRow(long link,
long mvccCrdVer,
long mvccCntr,
int mvccOpCntr)
Creates an mvcc index row for this tree.
|
IndexRow |
getRow(BPlusIO<IndexRow> io,
long pageAddr,
int idx,
Object ignore)
Get data row.
|
int |
inlineSize() |
protected String |
lockRetryErrorMessage(String op)
Create an error message when reaching the maximum
number of repetitions to capture a lock in the B+Tree.
|
protected long |
maxLockHoldTime()
Maximum time for which tree destroy process is allowed to hold the lock, after this time exceeds,
BPlusTree.temporaryReleaseLock() is called and hold time is reset. |
MetaPageInfo |
metaInfo() |
InlineIndexRowHandler |
rowHandler() |
protected IoStatisticsHolder |
statisticsHolder() |
protected void |
temporaryReleaseLock()
Releases the lock that is held by long tree destroy process for a short period of time and acquires it again,
allowing other processes to acquire it.
|
String |
toString() |
acquirePage, checkDestroyed, compare, destroy, destroy, destroyDownPages, destroyed, enableSequentialWriteMode, find, find, find, find, findFirst, findFirst, findLast, findLast, findOne, findOne, findOne, getFirstPageIds, getLockRetries, getMetaPageId, getRow, initTree, initTree, interruptAll, invoke, isEmpty, iterate, latestInnerIO, latestLeafIO, markDestroyed, printTree, processFailure, put, putx, read, read, remove, remove, removex, rootLevel, setIos, size, size, treeName, validateTree, visitacquirePage, allocatePage, allocatePage, allocatePageNoReuse, close, groupId, init, name, needWalDeltaRecord, pageSize, randomInt, read, read, readLock, readUnlock, recyclePage, releasePage, tryWriteLock, write, write, write, write, writeLock, writeUnlock, writeUnlockpublic static final int IGNITE_VARIABLE_TYPE_DEFAULT_INLINE_SIZE
public static final int IGNITE_MAX_INDEX_PAYLOAD_SIZE_DEFAULT
IGNITE_MAX_INDEX_PAYLOAD_SIZEpublic InlineIndexTree(SortedIndexDefinition def, CacheGroupContext grpCtx, String treeName, IgniteCacheOffheapManager offheap, ReuseList reuseList, PageMemory pageMemory, PageIoResolver pageIoResolver, long metaPageId, boolean initNew, int configuredInlineSize, int maxInlineSize, IndexKeyTypeSettings keyTypeSettings, @Nullable @Nullable IndexRowCache idxRowCache, @Nullable @Nullable IoStatisticsHolder stats, InlineIndexRowHandlerFactory rowHndFactory, InlineRecommender recommender) throws IgniteCheckedException
IgniteCheckedExceptionprotected int compare(BPlusIO<IndexRow> io, long pageAddr, int idx, IndexRow row) throws IgniteCheckedException
compare in class BPlusTree<IndexRow,IndexRow>io - IO.pageAddr - Page address.idx - Index of row in the given buffer.row - Lookup row.Comparator.compare(Object, Object).IgniteCheckedException - If failed.public IndexRowImpl createIndexRow(long link) throws IgniteCheckedException
IgniteCheckedExceptionpublic IndexRowImpl createMvccIndexRow(long link, long mvccCrdVer, long mvccCntr, int mvccOpCntr) throws IgniteCheckedException
IgniteCheckedExceptionpublic IndexRow getRow(BPlusIO<IndexRow> io, long pageAddr, int idx, Object ignore) throws IgniteCheckedException
BPlusTree.canGetRowFromInner is true.getRow in class BPlusTree<IndexRow,IndexRow>io - IO.pageAddr - Page address.idx - Index.ignore - Implementation specific argument, null always means that we need to return full detached data row.IgniteCheckedException - If failed.public int inlineSize()
public static int computeInlineSize(String name, List<InlineIndexKeyType> keyTypes, List<IndexKeyDefinition> keyDefs, int cfgInlineSize, int maxInlineSize, IgniteLogger log)
name - Index name.keyTypes - Index key types.keyDefs - Index key definitions.cfgInlineSize - Inline size from index config.maxInlineSize - Max inline size from cache config.log - Logger.public CacheGroupContext cacheGroupContext()
public MetaPageInfo metaInfo() throws IgniteCheckedException
IgniteCheckedException - If failed.public void copyMetaInfo(MetaPageInfo info) throws IgniteCheckedException
info - Meta page info.IgniteCheckedException - If failed.public boolean created()
protected CorruptedTreeException corruptedTreeException(String msg, Throwable cause, int grpId, long... pageIds)
corruptedTreeException in class BPlusTree<IndexRow,IndexRow>msg - Message.cause - Cause.grpId - Group id.pageIds - Pages ids.protected void temporaryReleaseLock()
temporaryReleaseLock in class BPlusTree<IndexRow,IndexRow>protected long maxLockHoldTime()
BPlusTree.temporaryReleaseLock() is called and hold time is reset.maxLockHoldTime in class BPlusTree<IndexRow,IndexRow>protected IoStatisticsHolder statisticsHolder()
statisticsHolder in class BPlusTree<IndexRow,IndexRow>public InlineIndexRowHandler rowHandler()
protected String lockRetryErrorMessage(String op)
lockRetryErrorMessage in class BPlusTree<IndexRow,IndexRow>op - Operation name, for example: GET, PUT.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.15.0 Release Date : April 25 2023