You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/02/21 08:37:22 UTC

ignite git commit: ignite-4652 Fixed UpdateClosure for local cache.

Repository: ignite
Updated Branches:
  refs/heads/ignite-4652 f71efda55 -> 59584e8af


ignite-4652 Fixed UpdateClosure for local cache.


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

Branch: refs/heads/ignite-4652
Commit: 59584e8affc71cff669ccc84bf3792e41568296f
Parents: f71efda
Author: sboikov <sb...@gridgain.com>
Authored: Tue Feb 21 11:37:15 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Feb 21 11:37:15 2017 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/cache/GridCacheMapEntry.java | 9 +++++++--
 .../processors/cache/IgniteCacheOffheapManager.java         | 6 ++++++
 .../processors/cache/IgniteCacheOffheapManagerImpl.java     | 2 +-
 3 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/59584e8a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index 7118a8b..d28ea25 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@ -3823,6 +3823,9 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
         private CacheDataRow newRow;
 
         /** */
+        private CacheDataRow oldRow;
+
+        /** */
         private IgniteTree.OperationType treeOp = IgniteTree.OperationType.PUT;
 
         /**
@@ -3840,10 +3843,12 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
 
         /** {@inheritDoc} */
         @Override public void call(@Nullable CacheDataRow oldRow) throws IgniteCheckedException {
+            this.oldRow = oldRow;
+
             if (oldRow != null)
                 oldRow.key(entry.key);
 
-            newRow = entry.localPartition().dataStore().createRow(entry.key,
+            newRow = entry.cctx.offheap().dataStore(entry.localPartition()).createRow(entry.key,
                 val,
                 ver,
                 expireTime,
@@ -3865,7 +3870,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
 
         /** {@inheritDoc} */
         @Nullable @Override public CacheDataRow oldRow() {
-            return null;
+            return oldRow;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/59584e8a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
index 6143752..4a98f6a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
@@ -83,6 +83,12 @@ public interface IgniteCacheOffheapManager extends GridCacheManager {
     public Iterable<CacheDataStore> cacheDataStores();
 
     /**
+     * @param part Partition.
+     * @return Data store.
+     */
+    public CacheDataStore dataStore(GridDhtLocalPartition part);
+
+    /**
      * @param p Partition ID.
      * @param store Data store.
      */

http://git-wip-us.apache.org/repos/asf/ignite/blob/59584e8a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
index 660daf9..0b77f53 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java
@@ -207,7 +207,7 @@ public class IgniteCacheOffheapManagerImpl extends GridCacheManagerAdapter imple
      * @param part Partition.
      * @return Data store for given entry.
      */
-    private CacheDataStore dataStore(GridDhtLocalPartition part) {
+    public CacheDataStore dataStore(GridDhtLocalPartition part) {
         if (cctx.isLocal())
             return locCacheDataStore;
         else {