Repository: ignite
Updated Branches:
  refs/heads/ignite-3477-no-wlock [created] 75dbef734


minor


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/75dbef73
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/75dbef73
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/75dbef73

Branch: refs/heads/ignite-3477-no-wlock
Commit: 75dbef7345372e315a19b82048f1842b7d842f9b
Parents: 76cd44d
Author: Yakov Zhdanov <[email protected]>
Authored: Thu Mar 2 18:13:46 2017 +0300
Committer: Yakov Zhdanov <[email protected]>
Committed: Thu Mar 2 18:13:46 2017 +0300

----------------------------------------------------------------------
 .../apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java   | 2 +-
 .../processors/cache/database/freelist/FreeListImpl.java       | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/75dbef73/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
index e82b5d2..b32a7ae 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/pagemem/impl/PageNoStoreImpl.java
@@ -53,7 +53,7 @@ public class PageNoStoreImpl implements Page {
     /**
      * @return Data pointer.
      */
-    private long pointer() {
+    public long pointer() {
         return absPtr + PageMemoryNoStoreImpl.PAGE_OVERHEAD;
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/75dbef73/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
index d6debd8..80139dd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/freelist/FreeListImpl.java
@@ -25,6 +25,7 @@ import org.apache.ignite.internal.pagemem.PageIdAllocator;
 import org.apache.ignite.internal.pagemem.PageIdUtils;
 import org.apache.ignite.internal.pagemem.PageMemory;
 import org.apache.ignite.internal.pagemem.PageUtils;
+import org.apache.ignite.internal.pagemem.impl.PageNoStoreImpl;
 import org.apache.ignite.internal.pagemem.wal.IgniteWriteAheadLogManager;
 import 
org.apache.ignite.internal.pagemem.wal.record.delta.DataPageInsertFragmentRecord;
 import 
org.apache.ignite.internal.pagemem.wal.record.delta.DataPageInsertRecord;
@@ -437,7 +438,10 @@ public class FreeListImpl extends PagesList implements 
FreeList, ReuseList {
         int itemId = PageIdUtils.itemId(link);
 
         try (Page page = pageMem.page(cacheId, pageId)) {
-            Boolean updated = writePage(pageMem, page, this, updateRow, row, 
itemId, null);
+            DataPageIO init = 
PageIO.getPageIO(((PageNoStoreImpl)page).pointer());
+
+            Boolean updated = updateRow.run(page, init,
+                ((PageNoStoreImpl)page).pointer(), row, itemId);
 
             assert updated != null; // Can't fail here.
 

Reply via email to