# sprint-2 support portable in IsolatedUpdater

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

Branch: refs/heads/ignite-275
Commit: 862fac94ad9d7ca541d839e5f54dc051516cadcb
Parents: 684ed83
Author: sboikov <sboi...@gridgain.com>
Authored: Tue Feb 17 11:52:05 2015 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Tue Feb 17 11:52:05 2015 +0300

----------------------------------------------------------------------
 .../processors/dataload/IgniteDataLoaderImpl.java     | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/862fac94/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java
index 5fcaac1..05799fe 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java
@@ -1403,13 +1403,23 @@ public class IgniteDataLoaderImpl<K, V> implements 
IgniteDataLoader<K, V>, Delay
 
             GridCacheVersion ver = cctx.versions().next(topVer);
 
+            boolean portable = cctx.portableEnabled();
+
             for (Map.Entry<K, V> e : entries) {
                 try {
-                    GridCacheEntryEx<K, V> entry = 
internalCache.entryEx(e.getKey(), topVer);
+                    K key = e.getKey();
+                    V val = e.getValue();
+
+                    if (portable) {
+                        key = (K)cctx.marshalToPortable(key);
+                        val = (V)cctx.marshalToPortable(val);
+                    }
+
+                    GridCacheEntryEx<K, V> entry = internalCache.entryEx(key, 
topVer);
 
                     entry.unswap(true, false);
 
-                    entry.initialValue(e.getValue(), null, ver, 0, 0, false, 
topVer, GridDrType.DR_LOAD);
+                    entry.initialValue(val, null, ver, 0, 0, false, topVer, 
GridDrType.DR_LOAD);
 
                     cctx.evicts().touch(entry, topVer);
                 }

Reply via email to