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