ignite-db - fixes
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/28956963 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/28956963 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/28956963 Branch: refs/heads/ignite-db-x-10884 Commit: 28956963fde508794993ef012503c153692c55e7 Parents: 788b6e8 Author: S.Vladykin <[email protected]> Authored: Wed Apr 27 11:02:31 2016 +0300 Committer: S.Vladykin <[email protected]> Committed: Wed Apr 27 11:02:31 2016 +0300 ---------------------------------------------------------------------- .../internal/processors/cache/database/freelist/FreeList.java | 7 ++++++- .../internal/processors/cache/database/freelist/FreeTree.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/28956963/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeList.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeList.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeList.java index 721f0c0..4665b6f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeList.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeList.java @@ -75,6 +75,8 @@ public class FreeList { /** */ private final PageHandler<FreeTree> removeRow = new PageHandler<FreeTree>() { @Override public int run(Page page, ByteBuffer buf, FreeTree tree, int itemId) throws IgniteCheckedException { + assert tree != null; + DataPageIO io = DataPageIO.VERSIONS.forPage(buf); assert DataPageIO.check(itemId): itemId; @@ -168,10 +170,13 @@ public class FreeList { assert link != 0; long pageId = PageIdUtils.pageId(link); + int partId = PageIdUtils.partId(pageId); int itemId = PageIdUtils.dwordsOffset(link); + FreeTree tree = tree(partId); + try (Page page = pageMem.page(new FullPageId(pageId, cctx.cacheId()))) { - writePage(page, removeRow, null, itemId, -1); + writePage(page, removeRow, tree, itemId, -1); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/28956963/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeTree.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeTree.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeTree.java index c5138c5..17f047e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeTree.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeTree.java @@ -91,7 +91,7 @@ public class FreeTree extends BPlusTree<FreeItem, FreeItem> { int res = Short.compare(((FreeIO)io).getFreeSpace(buf, idx), row.freeSpace()); if (res == 0) - res = Long.compare(((FreeLeafIO)io).getPageIndex(buf, idx), FreeInnerIO.pageIndex(row.pageId())); + res = Integer.compare(((FreeIO)io).getPageIndex(buf, idx), FreeInnerIO.pageIndex(row.pageId())); return res; }
