public class TrackingPageIO extends PageIO
| Modifier and Type | Field and Description |
|---|---|
static int |
BITMAP_OFFSET
Bitmap offset.
|
static long |
CORRUPT_FLAG_FILTER_MASK
Corrupt flag mask.
|
static long |
CORRUPT_FLAG_MASK
Corrupt flag mask.
|
static int |
COUNT_OF_EXTRA_PAGE
Count of extra page.
|
static int |
LAST_SNAPSHOT_TAG_OFFSET
Last snapshot offset.
|
static int |
SIZE_FIELD_OFFSET
Size field offset.
|
static int |
SIZE_FIELD_SIZE
'Size' field size.
|
static IOVersions<TrackingPageIO> |
VERSIONS |
COMMON_HEADER_END, CRC_OFF, MAX_PAYLOAD_SIZE, PAGE_ID_OFF, ROTATED_ID_PART_OFF, T_BPLUS_META, T_CACHE_ID_AWARE_DATA_REF_INNER, T_CACHE_ID_AWARE_DATA_REF_LEAF, T_CACHE_ID_AWARE_PENDING_REF_INNER, T_CACHE_ID_AWARE_PENDING_REF_LEAF, T_CACHE_ID_DATA_REF_MVCC_INNER, T_CACHE_ID_DATA_REF_MVCC_LEAF, T_DATA, T_DATA_METASTORAGE, T_DATA_PART, T_DATA_REF_INNER, T_DATA_REF_LEAF, T_DATA_REF_METASTORAGE_INNER, T_DATA_REF_METASTORAGE_LEAF, T_DATA_REF_MVCC_INNER, T_DATA_REF_MVCC_LEAF, T_DEFRAG_LINK_MAPPING_INNER, T_DEFRAG_LINK_MAPPING_LEAF, T_H2_EX_REF_INNER_END, T_H2_EX_REF_INNER_START, T_H2_EX_REF_LEAF_END, T_H2_EX_REF_LEAF_START, T_H2_EX_REF_MVCC_INNER_END, T_H2_EX_REF_MVCC_INNER_START, T_H2_EX_REF_MVCC_LEAF_END, T_H2_EX_REF_MVCC_LEAF_START, T_H2_MVCC_REF_INNER, T_H2_MVCC_REF_LEAF, T_H2_REF_INNER, T_H2_REF_LEAF, T_MARKER_PAGE, T_META, T_METASTORE_INNER, T_METASTORE_LEAF, T_PAGE_LIST_META, T_PAGE_LIST_NODE, T_PAGE_UPDATE_TRACKING, T_PART_CNTRS, T_PART_META, T_PENDING_REF_INNER, T_PENDING_REF_LEAF, T_TX_LOG_INNER, T_TX_LOG_LEAF, TYPE_OFF, VER_OFF| Modifier | Constructor and Description |
|---|---|
protected |
TrackingPageIO(int ver) |
| Modifier and Type | Method and Description |
|---|---|
short |
countOfChangedPage(ByteBuffer buf,
long snapshotTag,
int pageSize) |
int |
countOfPageToTrack(int pageSize) |
@Nullable Long |
findNextChangedPage(ByteBuffer buf,
long start,
long curSnapshotTag,
long lastSuccessfulSnapshotTag,
int pageSize) |
int |
getFreeSpace(int pageSize,
long pageAddr)
Count of bytes that is currently free in this page and possibly can be used to place additional payload.
|
boolean |
isCorrupted(ByteBuffer buf) |
long |
markChanged(ByteBuffer buf,
long pageId,
long nextSnapshotTag,
long lastSuccessfulSnapshotTag,
int pageSize)
Will mark pageId as changed for next (!)
|
protected void |
printPage(long addr,
int pageSize,
GridStringBuilder sb) |
void |
resetCorruptFlag(ByteBuffer buf)
Reset corrupted flag to false.
|
void |
resetCorruptFlag(long addr)
Reset corrupted flag to false.
|
long |
trackingPageFor(long pageId,
int pageSize) |
boolean |
wasChanged(ByteBuffer buf,
long pageId,
long curSnapshotTag,
long lastSuccessfulSnapshotTag,
int pageSize) |
assertPageType, assertPageType, copyPage, deriveIndexPageType, getBPlusIO, getBPlusIO, getCompactedSize, getCompactedSize, getCompressedSize, getCompressedSize, getCompressionType, getCompressionType, getCrc, getCrc, getInnerVersions, getLeafVersions, getPageId, getPageId, getPageIO, getPageIO, getPageIO, getRotatedIdPart, getType, getType, getType, getVersion, getVersion, getVersion, initNewPage, isDataPageType, isIndexPage, printPage, registerH2, registerH2ExtraInner, registerH2ExtraLeaf, registerTest, registerTest, setCompactedSize, setCompressedSize, setCompressionType, setCrc, setCrc, setPageId, setRotatedIdPart, setType, setVersion, toStringpublic static final IOVersions<TrackingPageIO> VERSIONS
public static final long CORRUPT_FLAG_MASK
public static final long CORRUPT_FLAG_FILTER_MASK
public static final int LAST_SNAPSHOT_TAG_OFFSET
public static final int SIZE_FIELD_OFFSET
public static final int SIZE_FIELD_SIZE
public static final int BITMAP_OFFSET
public static final int COUNT_OF_EXTRA_PAGE
protected TrackingPageIO(int ver)
ver - Page format version.public long markChanged(ByteBuffer buf, long pageId, long nextSnapshotTag, long lastSuccessfulSnapshotTag, int pageSize)
buf - Buffer.pageId - Page id.nextSnapshotTag - Tag of next snapshot.pageSize - Page size.-1 if everything is ok, otherwise last saved tag.public boolean isCorrupted(ByteBuffer buf)
buf - Buffer.public void resetCorruptFlag(ByteBuffer buf)
buf - Buffer.public void resetCorruptFlag(long addr)
addr - Buffer.public boolean wasChanged(ByteBuffer buf, long pageId, long curSnapshotTag, long lastSuccessfulSnapshotTag, int pageSize) throws TrackingPageIsCorruptedException
buf - Buffer.pageId - Page id.curSnapshotTag - Snapshot tag.lastSuccessfulSnapshotTag - Last successful snapshot id.pageSize - Page size.TrackingPageIsCorruptedException - if this tracking page was marked as corrupted.public short countOfChangedPage(ByteBuffer buf, long snapshotTag, int pageSize)
buf - Buffer.snapshotTag - Snapshot tag.pageSize - Page size.public long trackingPageFor(long pageId,
int pageSize)
pageId - Page id.pageSize - Page size.public int countOfPageToTrack(int pageSize)
pageSize - Page size.@Nullable public @Nullable Long findNextChangedPage(ByteBuffer buf, long start, long curSnapshotTag, long lastSuccessfulSnapshotTag, int pageSize) throws TrackingPageIsCorruptedException
buf - Buffer.start - Start.curSnapshotTag - Snapshot id.lastSuccessfulSnapshotTag - Last successful snapshot id.pageSize - Page size.null will be returned.TrackingPageIsCorruptedException - if this tracking page was marked as corrupted.protected void printPage(long addr,
int pageSize,
GridStringBuilder sb)
throws IgniteCheckedException
printPage in class PageIOaddr - Address.pageSize - Page size.sb - Sb.IgniteCheckedExceptionpublic int getFreeSpace(int pageSize,
long pageAddr)
getFreeSpace in class PageIOpageSize - Page size.pageAddr - Page address.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.15.0 Release Date : April 25 2023