/** * @return Page size without encryption overhead. */ protected int pageSize() { return pageMem.realPageSize(grpId); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { io.initNewRoot(pageAddr, newRootId, leftChildId, null, rowBytes, rightChildId, pageMem.realPageSize(groupId()), false); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { DataPageIO io = PageIO.getPageIO(pageAddr); io.updateNewVersion(pageAddr, itemId, pageMem.realPageSize(groupId()), newMvccCrd, newMvccCntr, newMvccOpCntr); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { BPlusMetaIO io = BPlusMetaIO.VERSIONS.forPage(pageAddr); io.addRoot(pageAddr, rootId, pageMem.realPageSize(groupId())); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { DataPageIO io = PageIO.getPageIO(pageAddr); io.updateNewTxState(pageAddr, itemId, pageMem.realPageSize(groupId()), txState); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { BPlusMetaIO io = BPlusMetaIO.VERSIONS.forPage(pageAddr); io.cutRoot(pageAddr, pageMem.realPageSize(groupId())); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { DataPageIO io = PageIO.getPageIO(pageAddr); io.updateTxState(pageAddr, itemId, pageMem.realPageSize(groupId()), txState); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { PageIO io = PageIO.getPageIO(ioType, ioVer); io.initNewPage(pageAddr, newPageId, pageMem.realPageSize(groupId())); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { PagesListNodeIO io = PagesListNodeIO.VERSIONS.forPage(pageAddr); int cnt = io.addPage(pageAddr, dataPageId, pageMem.realPageSize(groupId())); assert cnt >= 0 : cnt; }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { AbstractDataPageIO io = PageIO.getPageIO(pageAddr); io.removeRow(pageAddr, itemId, pageMem.realPageSize(groupId())); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { assert payload != null; AbstractDataPageIO io = PageIO.getPageIO(pageAddr); io.addRow(pageAddr, payload, pageMem.realPageSize(groupId())); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { assert payload != null; AbstractDataPageIO io = PageIO.getPageIO(pageAddr); io.updateRow(pageAddr, itemId, pageMem.realPageSize(groupId()), payload, null, 0); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { PagesListNodeIO io = PageIO.getPageIO(PageIO.T_PAGE_LIST_NODE, ioVer); io.initNewPage(pageAddr, pageId(), pageMem.realPageSize(groupId())); io.setPreviousId(pageAddr, prevPageId); if (addDataPageId != 0L) { int cnt = io.addPage(pageAddr, addDataPageId, pageMem.realPageSize(groupId())); assert cnt == 0 : cnt; } }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { BPlusMetaIO io = BPlusMetaIO.VERSIONS.forPage(pageAddr); io.initRoot(pageAddr, rootId, pageMem.realPageSize(groupId())); io.setInlineSize(pageAddr, 0); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { BPlusMetaIO io = BPlusMetaIO.VERSIONS.forPage(pageAddr); io.initRoot(pageAddr, rootId, pageMem.realPageSize(groupId())); io.setInlineSize(pageAddr, inlineSize); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { TrackingPageIO.VERSIONS.forPage(pageAddr).markChanged(pageMem.pageBuffer(pageAddr), pageIdToMark, nextSnapshotId, lastSuccessfulSnapshotId, pageMem.realPageSize(groupId())); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { AbstractDataPageIO io = PageIO.getPageIO(pageAddr); io.addRowFragment(PageIO.getPageId(pageAddr), pageAddr, payload, lastLink, pageMem.realPageSize(groupId())); }
/** {@inheritDoc} */ @Override public void applyDelta(PageMemory pageMem, long pageAddr) throws IgniteCheckedException { PageMetaIO io = PageMetaIO.getPageIO(ioType, ioVer); io.initNewPage(pageAddr, newPageId, pageMem.realPageSize(groupId())); io.setTreeRoot(pageAddr, treeRoot); io.setReuseListRoot(pageAddr, reuseListRoot); }
/** * @param mem Page memory. * @param fullId Page ID. * @param page Page pointer. * @param val Value to write. */ private void writePage(PageMemory mem, FullPageId fullId, long page, int val) { long pageAddr = mem.writeLock(-1, fullId.pageId(), page); try { PAGE_IO.initNewPage(pageAddr, fullId.pageId(), mem.realPageSize(fullId.groupId())); for (int i = PageIO.COMMON_HEADER_END; i < PAGE_SIZE; i++) PageUtils.putByte(pageAddr, i, (byte)val); } finally { mem.writeUnlock(-1, fullId.pageId(), page, null, true); } }
/** {@inheritDoc} */ @Override public Boolean run(int cacheId, long pageId, long page, long pageAddr, PageIO io, Boolean walPlc, MvccVersion newVer, int itemId, IoStatisticsHolder statHolder) throws IgniteCheckedException { assert grp.mvccEnabled(); DataPageIO iox = (DataPageIO)io; int off = iox.getPayloadOffset(pageAddr, itemId, grp.dataRegion().pageMemory().realPageSize(grp.groupId()), MVCC_INFO_SIZE); long newCrd = iox.newMvccCoordinator(pageAddr, off); long newCntr = iox.newMvccCounter(pageAddr, off); int newOpCntr = iox.newMvccOperationCounter(pageAddr, off); assert newCrd == MVCC_CRD_COUNTER_NA || state(grp, newCrd, newCntr, newOpCntr) == TxState.ABORTED; iox.updateNewVersion(pageAddr, off, newVer, TxState.NA); if (isWalDeltaRecordNeeded(grp.dataRegion().pageMemory(), cacheId, pageId, page, ctx.wal(), walPlc)) ctx.wal().log(new DataPageMvccMarkUpdatedRecord(cacheId, pageId, itemId, newVer.coordinatorVersion(), newVer.counter(), newVer.operationCounter())); return TRUE; } }