Repository: ignite Updated Branches: refs/heads/master f8c9e90c7 -> d5035bb23
IGNITE-10042: MVCC: Fixed TxLog page types. This closes #5193. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d5035bb2 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d5035bb2 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d5035bb2 Branch: refs/heads/master Commit: d5035bb23c25b02f814a03303dfa7ce682f2cada Parents: f8c9e90 Author: AMRepo <andrey.mashen...@gmail.com> Authored: Tue Oct 30 12:07:49 2018 +0300 Committer: devozerov <voze...@gridgain.com> Committed: Tue Oct 30 12:07:49 2018 +0300 ---------------------------------------------------------------------- .../processors/cache/mvcc/txlog/TxLog.java | 40 ++++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/d5035bb2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/txlog/TxLog.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/txlog/TxLog.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/txlog/TxLog.java index 61d9cc6..03eb659 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/txlog/TxLog.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/txlog/TxLog.java @@ -37,7 +37,7 @@ import org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemor import org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree; import org.apache.ignite.internal.processors.cache.persistence.tree.io.BPlusIO; import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO; -import org.apache.ignite.internal.processors.cache.persistence.tree.io.PagePartitionMetaIO; +import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageMetaIO; import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.ReuseList; import org.apache.ignite.internal.processors.cache.persistence.tree.reuse.ReuseListImpl; import org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler; @@ -100,36 +100,36 @@ public class TxLog implements DbCheckpointListener { IgniteWriteAheadLogManager wal = ctx.cache().context().wal(); PageMemoryEx pageMemory = (PageMemoryEx)mgr.dataRegion(TX_LOG_CACHE_NAME).pageMemory(); - long partMetaId = pageMemory.partitionMetaPageId(TX_LOG_CACHE_ID, 0); - long partMetaPage = pageMemory.acquirePage(TX_LOG_CACHE_ID, partMetaId); + long metaId = pageMemory.metaPageId(TX_LOG_CACHE_ID); + long metaPage = pageMemory.acquirePage(TX_LOG_CACHE_ID, metaId); long treeRoot, reuseListRoot; boolean isNew = false; try { - long pageAddr = pageMemory.writeLock(TX_LOG_CACHE_ID, partMetaId, partMetaPage); + long pageAddr = pageMemory.writeLock(TX_LOG_CACHE_ID, metaId, metaPage); try { - if (PageIO.getType(pageAddr) != PageIO.T_PART_META) { + if (PageIO.getType(pageAddr) != PageIO.T_META) { // Initialize new page. - PagePartitionMetaIO io = PagePartitionMetaIO.VERSIONS.latest(); + PageMetaIO io = PageMetaIO.VERSIONS.latest(); - io.initNewPage(pageAddr, partMetaId, pageMemory.pageSize()); + io.initNewPage(pageAddr, metaId, pageMemory.pageSize()); - treeRoot = pageMemory.allocatePage(TX_LOG_CACHE_ID, 0, PageMemory.FLAG_DATA); - reuseListRoot = pageMemory.allocatePage(TX_LOG_CACHE_ID, 0, PageMemory.FLAG_DATA); + treeRoot = pageMemory.allocatePage(TX_LOG_CACHE_ID, INDEX_PARTITION, PageMemory.FLAG_IDX); + reuseListRoot = pageMemory.allocatePage(TX_LOG_CACHE_ID, INDEX_PARTITION, PageMemory.FLAG_IDX); - assert PageIdUtils.flag(treeRoot) == PageMemory.FLAG_DATA; - assert PageIdUtils.flag(reuseListRoot) == PageMemory.FLAG_DATA; + assert PageIdUtils.flag(treeRoot) == PageMemory.FLAG_IDX; + assert PageIdUtils.flag(reuseListRoot) == PageMemory.FLAG_IDX; io.setTreeRoot(pageAddr, treeRoot); io.setReuseListRoot(pageAddr, reuseListRoot); - if (PageHandler.isWalDeltaRecordNeeded(pageMemory, TX_LOG_CACHE_ID, partMetaId, partMetaPage, wal, null)) + if (PageHandler.isWalDeltaRecordNeeded(pageMemory, TX_LOG_CACHE_ID, metaId, metaPage, wal, null)) wal.log(new MetaPageInitRecord( TX_LOG_CACHE_ID, - partMetaId, + metaId, io.getType(), io.getVersion(), treeRoot, @@ -139,23 +139,23 @@ public class TxLog implements DbCheckpointListener { isNew = true; } else { - PagePartitionMetaIO io = PageIO.getPageIO(pageAddr); + PageMetaIO io = PageIO.getPageIO(pageAddr); treeRoot = io.getTreeRoot(pageAddr); reuseListRoot = io.getReuseListRoot(pageAddr); - assert PageIdUtils.flag(treeRoot) == PageMemory.FLAG_DATA : - U.hexLong(treeRoot) + ", part=" + 0 + ", TX_LOG_CACHE_ID=" + TX_LOG_CACHE_ID; - assert PageIdUtils.flag(reuseListRoot) == PageMemory.FLAG_DATA : - U.hexLong(reuseListRoot) + ", part=" + 0 + ", TX_LOG_CACHE_ID=" + TX_LOG_CACHE_ID; + assert PageIdUtils.flag(treeRoot) == PageMemory.FLAG_IDX : + U.hexLong(treeRoot) + ", TX_LOG_CACHE_ID=" + TX_LOG_CACHE_ID; + assert PageIdUtils.flag(reuseListRoot) == PageMemory.FLAG_IDX : + U.hexLong(reuseListRoot) + ", TX_LOG_CACHE_ID=" + TX_LOG_CACHE_ID; } } finally { - pageMemory.writeUnlock(TX_LOG_CACHE_ID, partMetaId, partMetaPage, null, isNew); + pageMemory.writeUnlock(TX_LOG_CACHE_ID, metaId, metaPage, null, isNew); } } finally { - pageMemory.releasePage(TX_LOG_CACHE_ID, partMetaId, partMetaPage); + pageMemory.releasePage(TX_LOG_CACHE_ID, metaId, metaPage); } reuseList = new ReuseListImpl(