Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-51 3cdc1fa51 -> eb251dda1


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
index 1af61bc..ef9a41f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java
@@ -495,10 +495,9 @@ public class GridDhtLocalPartition implements 
Comparable<GridDhtLocalPartition>
 
                     byte[] keyBytes = entry.getKey();
 
-                    // TODO IGNITE-51.
-                    KeyCacheObject key = cctx.marshaller().unmarshal(keyBytes, 
cctx.deploy().globalLoader());
+                    KeyCacheObject key = cctx.toCacheKeyObject(null, keyBytes);
 
-                    cctx.swap().remove(key, keyBytes);
+                    cctx.swap().remove(key);
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
index 28f1307..6c269d7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
@@ -174,8 +174,10 @@ public class GridDhtLockResponse extends 
GridDistributedLockResponse {
         if (preloadEntriesBytes == null && preloadEntries != null)
             preloadEntriesBytes = marshalCollection(preloadEntries, ctx);
 
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
         if (preloadEntriesBytes == null && preloadEntries != null) {
-            marshalInfos(preloadEntries, ctx);
+            marshalInfos(preloadEntries, cctx);
 
             preloadEntriesBytes = marshalCollection(preloadEntries, ctx);
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
index b1056c9..ddf0d55 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
@@ -522,13 +522,15 @@ public class GridDhtAtomicUpdateRequest extends 
GridCacheMessage implements Grid
     @Override public void prepareMarshal(GridCacheSharedContext ctx) throws 
IgniteCheckedException {
         super.prepareMarshal(ctx);
 
-        prepareMarshalCacheObjects(keys, ctx);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
 
-        prepareMarshalCacheObjects(vals, ctx);
+        prepareMarshalCacheObjects(keys, cctx);
 
-        prepareMarshalCacheObjects(nearKeys, ctx);
+        prepareMarshalCacheObjects(vals, cctx);
 
-        prepareMarshalCacheObjects(nearVals, ctx);
+        prepareMarshalCacheObjects(nearKeys, cctx);
+
+        prepareMarshalCacheObjects(nearVals, cctx);
 
         if (forceTransformBackups) {
             invokeArgsBytes = marshalInvokeArguments(invokeArgs, ctx);
@@ -544,13 +546,15 @@ public class GridDhtAtomicUpdateRequest extends 
GridCacheMessage implements Grid
     @Override public void finishUnmarshal(GridCacheSharedContext ctx, 
ClassLoader ldr) throws IgniteCheckedException {
         super.finishUnmarshal(ctx, ldr);
 
-        finishUnmarshalCacheObjects(keys, ctx, ldr);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        finishUnmarshalCacheObjects(keys, cctx, ldr);
 
-        finishUnmarshalCacheObjects(vals, ctx, ldr);
+        finishUnmarshalCacheObjects(vals, cctx, ldr);
 
-        finishUnmarshalCacheObjects(nearKeys, ctx, ldr);
+        finishUnmarshalCacheObjects(nearKeys, cctx, ldr);
 
-        finishUnmarshalCacheObjects(nearVals, ctx, ldr);
+        finishUnmarshalCacheObjects(nearVals, cctx, ldr);
 
         if (forceTransformBackups) {
             entryProcessors = unmarshalCollection(entryProcessorsBytes, ctx, 
ldr);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
index 3167820..d0a7620 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
@@ -143,9 +143,11 @@ public class GridDhtAtomicUpdateResponse extends 
GridCacheMessage implements Gri
     @Override public void prepareMarshal(GridCacheSharedContext ctx) throws 
IgniteCheckedException {
         super.prepareMarshal(ctx);
 
-        prepareMarshalCacheObjects(failedKeys, ctx);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
 
-        prepareMarshalCacheObjects(nearEvicted, ctx);
+        prepareMarshalCacheObjects(failedKeys, cctx);
+
+        prepareMarshalCacheObjects(nearEvicted, cctx);
 
         errBytes = ctx.marshaller().marshal(err);
     }
@@ -154,9 +156,11 @@ public class GridDhtAtomicUpdateResponse extends 
GridCacheMessage implements Gri
     @Override public void finishUnmarshal(GridCacheSharedContext ctx, 
ClassLoader ldr) throws IgniteCheckedException {
         super.finishUnmarshal(ctx, ldr);
 
-        finishUnmarshalCacheObjects(failedKeys, ctx, ldr);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        finishUnmarshalCacheObjects(failedKeys, cctx, ldr);
 
-        finishUnmarshalCacheObjects(nearEvicted, ctx, ldr);
+        finishUnmarshalCacheObjects(nearEvicted, cctx, ldr);
 
         err = ctx.marshaller().unmarshal(errBytes, ldr);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
index d3e9fb5..b0d356c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
@@ -502,12 +502,14 @@ public class GridNearAtomicUpdateRequest extends 
GridCacheMessage implements Gri
     @Override public void prepareMarshal(GridCacheSharedContext ctx) throws 
IgniteCheckedException {
         super.prepareMarshal(ctx);
 
-        prepareMarshalCacheObjects(keys, ctx);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        prepareMarshalCacheObjects(keys, cctx);
 
         if (op == TRANSFORM)
             entryProcessorsBytes = marshalCollection(entryProcessors, ctx);
         else
-            prepareMarshalCacheObjects(vals, ctx);
+            prepareMarshalCacheObjects(vals, cctx);
 
         filterBytes = marshalFilter(filter, ctx);
         invokeArgsBytes = marshalInvokeArguments(invokeArgs, ctx);
@@ -520,12 +522,14 @@ public class GridNearAtomicUpdateRequest extends 
GridCacheMessage implements Gri
     @Override public void finishUnmarshal(GridCacheSharedContext ctx, 
ClassLoader ldr) throws IgniteCheckedException {
         super.finishUnmarshal(ctx, ldr);
 
-        finishUnmarshalCacheObjects(keys, ctx, ldr);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        finishUnmarshalCacheObjects(keys, cctx, ldr);
 
         if (op == TRANSFORM)
             entryProcessors = unmarshalCollection(entryProcessorsBytes, ctx, 
ldr);
         else
-            finishUnmarshalCacheObjects(vals, ctx, ldr);
+            finishUnmarshalCacheObjects(vals, cctx, ldr);
 
         filter = unmarshalFilter(filterBytes, ctx, ldr);
         invokeArgs = unmarshalInvokeArguments(invokeArgsBytes, ctx, ldr);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index 83ceecb..5ff9a4e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -387,18 +387,20 @@ public class GridNearAtomicUpdateResponse extends 
GridCacheMessage implements Gr
         if (err != null)
             errBytes = ctx.marshaller().marshal(err);
 
-        prepareMarshalCacheObjects(failedKeys, ctx);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
 
-        prepareMarshalCacheObjects(remapKeys, ctx);
+        prepareMarshalCacheObjects(failedKeys, cctx);
 
-        prepareMarshalCacheObjects(nearVals, ctx);
+        prepareMarshalCacheObjects(remapKeys, cctx);
+
+        prepareMarshalCacheObjects(nearVals, cctx);
 
         if (retVal != null)
-            retVal.prepareMarshal(ctx);
+            retVal.prepareMarshal(cctx);
 
         if (invokeRes != null) {
             for (CacheInvokeDirectResult res : invokeRes)
-                res.prepareMarshal(ctx);
+                res.prepareMarshal(cctx);
         }
     }
 
@@ -409,18 +411,20 @@ public class GridNearAtomicUpdateResponse extends 
GridCacheMessage implements Gr
         if (errBytes != null)
             err = ctx.marshaller().unmarshal(errBytes, ldr);
 
-        finishUnmarshalCacheObjects(failedKeys, ctx, ldr);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        finishUnmarshalCacheObjects(failedKeys, cctx, ldr);
 
-        finishUnmarshalCacheObjects(remapKeys, ctx, ldr);
+        finishUnmarshalCacheObjects(remapKeys, cctx, ldr);
 
-        finishUnmarshalCacheObjects(nearVals, ctx, ldr);
+        finishUnmarshalCacheObjects(nearVals, cctx, ldr);
 
         if (retVal != null)
-            retVal.finishUnmarshal(ctx, ldr);
+            retVal.finishUnmarshal(cctx, ldr);
 
         if (invokeRes != null) {
             for (CacheInvokeDirectResult res : invokeRes)
-                res.finishUnmarshal(ctx, ldr);
+                res.finishUnmarshal(cctx, ldr);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
index ca3d0d1..925a05d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
@@ -131,14 +131,18 @@ public class GridDhtForceKeysRequest extends 
GridCacheMessage implements GridCac
     @Override public void prepareMarshal(GridCacheSharedContext ctx) throws 
IgniteCheckedException {
         super.prepareMarshal(ctx);
 
-        prepareMarshalCacheObjects(keys, ctx);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        prepareMarshalCacheObjects(keys, cctx);
     }
 
     /** {@inheritDoc} */
     @Override public void finishUnmarshal(GridCacheSharedContext ctx, 
ClassLoader ldr) throws IgniteCheckedException {
         super.finishUnmarshal(ctx, ldr);
 
-        finishUnmarshalCacheObjects(keys, ctx, ldr);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        finishUnmarshalCacheObjects(keys, cctx, ldr);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
index 970a1af..8919185 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
@@ -133,12 +133,14 @@ public class GridDhtForceKeysResponse extends 
GridCacheMessage implements GridCa
     @Override public void prepareMarshal(GridCacheSharedContext ctx) throws 
IgniteCheckedException {
         super.prepareMarshal(ctx);
 
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
         if (missedKeys != null)
-            prepareMarshalCacheObjects(missedKeys, ctx);
+            prepareMarshalCacheObjects(missedKeys, cctx);
 
         if (infos != null) {
             for (GridCacheEntryInfo info : infos)
-                info.marshal(ctx);
+                info.marshal(cctx);
         }
     }
 
@@ -146,12 +148,12 @@ public class GridDhtForceKeysResponse extends 
GridCacheMessage implements GridCa
     @Override public void finishUnmarshal(GridCacheSharedContext ctx, 
ClassLoader ldr) throws IgniteCheckedException {
         super.finishUnmarshal(ctx, ldr);
 
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
         if (missedKeys != null)
-            finishUnmarshalCacheObjects(missedKeys, ctx, ldr);
+            finishUnmarshalCacheObjects(missedKeys, cctx, ldr);
 
         if (infos != null) {
-            GridCacheContext cctx = ctx.cacheContext(cacheId);
-
             for (GridCacheEntryInfo info : infos)
                 info.unmarshal(cctx, ldr);
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
index 78638cf..0348e8a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
@@ -188,7 +188,9 @@ public class GridDhtPartitionSupplyMessage extends 
GridCacheMessage implements G
     void addEntry(int p, GridCacheEntryInfo info, GridCacheSharedContext ctx) 
throws IgniteCheckedException {
         assert info != null;
 
-        marshalInfo(info, ctx);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        marshalInfo(info, cctx);
 
         msgSize += info.marshalledSize();
 
@@ -216,8 +218,10 @@ public class GridDhtPartitionSupplyMessage extends 
GridCacheMessage implements G
         assert info.key() != null;
         assert info.value() != null;
 
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
         // Need to call this method to initialize info properly.
-        marshalInfo(info, ctx);
+        marshalInfo(info, cctx);
 
         msgSize += info.marshalledSize();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
index 4561db3..c58b0ec 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
@@ -227,7 +227,9 @@ public class GridNearGetRequest extends GridCacheMessage 
implements GridCacheDep
         assert !F.isEmpty(keys);
         assert keys.size() == flags.size();
 
-        prepareMarshalCacheObjects(keys, ctx);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        prepareMarshalCacheObjects(keys, cctx);
     }
 
     /**
@@ -238,7 +240,9 @@ public class GridNearGetRequest extends GridCacheMessage 
implements GridCacheDep
     @Override public void finishUnmarshal(GridCacheSharedContext ctx, 
ClassLoader ldr) throws IgniteCheckedException {
         super.finishUnmarshal(ctx, ldr);
 
-        finishUnmarshalCacheObjects(keys, ctx, ldr);
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
+        finishUnmarshalCacheObjects(keys, cctx, ldr);
 
         assert !F.isEmpty(keys);
         assert keys.size() == flags.size();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
index 1f9c306..5d07930 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
@@ -172,9 +172,11 @@ public class GridNearGetResponse extends GridCacheMessage 
implements GridCacheDe
     @Override public void prepareMarshal(GridCacheSharedContext ctx) throws 
IgniteCheckedException {
         super.prepareMarshal(ctx);
 
+        GridCacheContext cctx = ctx.cacheContext(cacheId);
+
         if (entries != null) {
             for (GridCacheEntryInfo info : entries)
-                info.marshal(ctx);
+                info.marshal(cctx);
         }
 
         if (err != null)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
index 3ba3ba4..dfa81a0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@ -536,7 +536,7 @@ public abstract class IgniteTxLocalAdapter extends 
IgniteTxAdapter
                             }
 
                             if (intercept) {
-                                Object oldVal = 
CU.value(e.cached().rawGetOrUnmarshal(true), cacheCtx);
+                                Object oldVal = 
CU.value(e.cached().rawGetOrUnmarshal(true), cacheCtx, false);
 
                                 Object interceptorVal = 
cacheCtx.config().getInterceptor().onBeforePut(key, oldVal, val);
 
@@ -1205,7 +1205,7 @@ public abstract class IgniteTxLocalAdapter extends 
IgniteTxAdapter
                                 if (!F.isEmpty(txEntry.entryProcessors()))
                                     val = txEntry.applyEntryProcessors(val);
 
-                                Object val0 = val.value(cacheCtx);
+                                Object val0 = val.value(cacheCtx, !skipVals);
 
                                 if (cacheCtx.portableEnabled())
                                     val0 = 
cacheCtx.unwrapPortableIfNeeded(val0, !deserializePortable);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
index 7526133..7118269 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/offheap/GridOffHeapProcessor.java
@@ -130,7 +130,8 @@ public class GridOffHeapProcessor extends 
GridProcessorAdapter {
      * @return {@code true} If offheap space contains value for the given key.
      * @throws IgniteCheckedException If failed.
      */
-    public boolean contains(@Nullable String spaceName, int part, Object key, 
byte[] keyBytes) throws IgniteCheckedException {
+    public boolean contains(@Nullable String spaceName, int part, Object key, 
byte[] keyBytes)
+        throws IgniteCheckedException {
         GridOffHeapPartitionedMap m = offheap(spaceName);
 
         return m != null && m.contains(part, U.hash(key), keyBytes(key, 
keyBytes));
@@ -146,7 +147,8 @@ public class GridOffHeapProcessor extends 
GridProcessorAdapter {
      * @return Value bytes.
      * @throws IgniteCheckedException If failed.
      */
-    @Nullable public byte[] get(@Nullable String spaceName, int part, Object 
key, byte[] keyBytes) throws IgniteCheckedException {
+    @Nullable public byte[] get(@Nullable String spaceName, int part, Object 
key, byte[] keyBytes)
+        throws IgniteCheckedException {
         GridOffHeapPartitionedMap m = offheap(spaceName);
 
         return m == null ? null : m.get(part, U.hash(key), keyBytes(key, 
keyBytes));
@@ -180,7 +182,8 @@ public class GridOffHeapProcessor extends 
GridProcessorAdapter {
      * @param keyBytes Key bytes.
      * @throws IgniteCheckedException If failed.
      */
-    public void enableEviction(@Nullable String spaceName, int part, Object 
key, byte[] keyBytes) throws IgniteCheckedException {
+    public void enableEviction(@Nullable String spaceName, int part, Object 
key, byte[] keyBytes)
+        throws IgniteCheckedException {
         GridOffHeapPartitionedMap m = offheap(spaceName);
 
         if (m != null)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/internal/util/offheap/unsafe/GridUnsafeMemory.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/offheap/unsafe/GridUnsafeMemory.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/offheap/unsafe/GridUnsafeMemory.java
index 23c77db..e08c2e2 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/offheap/unsafe/GridUnsafeMemory.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/offheap/unsafe/GridUnsafeMemory.java
@@ -23,6 +23,7 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.offheap.*;
 import org.apache.ignite.internal.util.tostring.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.lang.*;
 import sun.misc.*;
 
 import java.util.concurrent.atomic.*;
@@ -470,6 +471,24 @@ public class GridUnsafeMemory {
     }
 
     /**
+     * Get value stored in offheap along with a flag indicating whether this 
is "raw bytes", i.e. this is actual value
+     * or not.
+     *
+     * @param ptr Pointer to read.
+     * @return Stored byte array and "raw bytes" flag.
+     */
+    public IgniteBiTuple<byte[], Boolean> get(long ptr) {
+        assert ptr != 0;
+
+        int size = readInt(ptr);
+
+        boolean plain = readByte(ptr + 4) == 1;
+        byte[] bytes = readBytes(ptr + 5, size);
+
+        return new IgniteBiTuple<>(bytes, plain);
+    }
+
+    /**
      * @param ptr1 First pointer.
      * @param ptr2 Second pointer.
      * @param size Memory size.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
index f8ffb29..40d37f6 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
@@ -615,24 +615,6 @@ public abstract class IgniteSpiAdapter implements 
IgniteSpi, IgniteSpiManagement
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public <T> T readFromOffheap(String spaceName, int 
part, Object key, byte[] keyBytes,
-            @Nullable ClassLoader ldr) {
-            return null;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean removeFromOffheap(@Nullable String spaceName, 
int part, Object key,
-            @Nullable byte[] keyBytes) {
-            return false;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void writeToOffheap(@Nullable String spaceName, int 
part, Object key,
-            @Nullable byte[] keyBytes, Object val, @Nullable byte[] valBytes, 
@Nullable ClassLoader ldr) {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
         @Override public int partition(String cacheName, Object key) {
             return -1;
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java 
b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
index 02dac66..8ebbbaf 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
@@ -277,49 +277,6 @@ public interface IgniteSpiContext {
     @Nullable public <T> T readFromSwap(String spaceName, SwapKey key, 
@Nullable ClassLoader ldr)
         throws IgniteException;
 
-
-    /**
-     * Reads object from off-heap.
-     *
-     * @param spaceName Off-heap space name.
-     * @param part Partition.
-     * @param key Key.
-     * @param keyBytes Key bytes.
-     * @param ldr Class loader for unmarshalling.
-     * @return Value.
-     * @throws IgniteException If failed.
-     */
-    @Nullable public <T> T readFromOffheap(@Nullable String spaceName, int 
part, Object key, @Nullable byte[] keyBytes,
-        @Nullable ClassLoader ldr) throws IgniteException;
-
-    /**
-     * Writes data to off-heap memory.
-     *
-     * @param spaceName Off-heap space name.
-     * @param part Partition.
-     * @param key Key.
-     * @param keyBytes Optional key bytes.
-     * @param val Value.
-     * @param valBytes Optional value bytes.
-     * @param ldr Class loader.
-     * @throws IgniteException If failed.
-     */
-    public void writeToOffheap(@Nullable String spaceName, int part, Object 
key, @Nullable byte[] keyBytes, Object val,
-        @Nullable byte[] valBytes, @Nullable ClassLoader ldr) throws 
IgniteException;
-
-    /**
-     * Removes data from off-heap memory.
-     *
-     * @param spaceName Off-heap space name.
-     * @param part Partition.
-     * @param key Key.
-     * @param keyBytes Optional key bytes.
-     * @return {@code true} If succeeded.
-     * @throws IgniteException If failed.
-     */
-    public boolean removeFromOffheap(@Nullable String spaceName, int part, 
Object key, @Nullable byte[] keyBytes)
-        throws IgniteException;
-
     /**
      * Calculates partition number for given key.
      *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eb251dda/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
index 298e700..203dbc2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
@@ -463,24 +463,6 @@ public class GridSpiTestContext implements 
IgniteSpiContext {
     }
 
     /** {@inheritDoc} */
-    @Override public <T> T readFromOffheap(String spaceName, int part, Object 
key, byte[] keyBytes,
-        @Nullable ClassLoader ldr) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean removeFromOffheap(@Nullable String spaceName, int 
part, Object key,
-        @Nullable byte[] keyBytes) {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeToOffheap(@Nullable String spaceName, int part, 
Object key, @Nullable byte[] keyBytes,
-        Object val, @Nullable byte[] valBytes, @Nullable ClassLoader ldr) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
     @Override public int partition(String cacheName, Object key) {
         return -1;
     }

Reply via email to