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;
     }

Reply via email to