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