BPlusTree.Get, BPlusTree.Insert, BPlusTree.Invoke, BPlusTree.Put, BPlusTree.Replace, BPlusTree.Result, BPlusTree.Search, BPlusTree.TreeRowClosure<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 |
CONC_DESTROY_MSG, IGNITE_BPLUS_TREE_LOCK_RETRIES_DEFAULT, metaPageId, suspendFailureDiagnostic, testHndWrapper| Constructor and Description |
|---|
InlineIndexTree(SortedIndexDefinition def,
GridCacheContext<?,?> cctx,
String treeName,
IgniteCacheOffheapManager offheap,
ReuseList reuseList,
PageMemory pageMemory,
PageIoResolver pageIoResolver,
long metaPageId,
boolean initNew,
int configuredInlineSize,
IndexKeyTypeSettings keyTypeSettings,
@Nullable IndexRowCache idxRowCache,
@Nullable IoStatisticsHolder stats,
InlineIndexRowHandlerFactory rowHndFactory,
InlineRecommender recommender)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
GridCacheContext<?,?> |
cacheContext() |
protected int |
compare(BPlusIO<IndexRow> io,
long pageAddr,
int idx,
IndexRow row) |
static int |
computeInlineSize(List<InlineIndexKeyType> keyTypes,
int cfgInlineSize,
int maxInlineSize) |
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 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, enableSequentialWriteMode, find, find, find, findFirst, findFirst, findLast, findLast, findOne, findOne, findOne, getFirstPageIds, getLockRetries, getMetaPageId, getName, getRow, initTree, initTree, interruptAll, invoke, isEmpty, iterate, latestInnerIO, latestLeafIO, markDestroyed, printTree, processFailure, put, putx, read, read, remove, removex, rootLevel, setIos, size, size, treeName, validateTree, visitacquirePage, allocatePage, allocatePage, allocatePageNoReuse, groupId, init, needWalDeltaRecord, pageSize, randomInt, read, read, readLock, readUnlock, recyclePage, releasePage, tryWriteLock, write, write, write, write, writeLock, writeUnlock, writeUnlockpublic static final int IGNITE_MAX_INDEX_PAYLOAD_SIZE_DEFAULT
IGNITE_MAX_INDEX_PAYLOAD_SIZEpublic InlineIndexTree(SortedIndexDefinition def, GridCacheContext<?,?> cctx, String treeName, IgniteCacheOffheapManager offheap, ReuseList reuseList, PageMemory pageMemory, PageIoResolver pageIoResolver, long metaPageId, boolean initNew, int configuredInlineSize, 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(List<InlineIndexKeyType> keyTypes, int cfgInlineSize, int maxInlineSize)
keyTypes - Index key types.cfgInlineSize - Inline size from index config.maxInlineSize - Max inline size from cache config.public GridCacheContext<?,?> cacheContext()
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()
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.11.0 Release Date : September 11 2021