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 2015/03/05 09:55:41 UTC
[43/50] [abbrv] incubator-ignite git commit: # ignite-51
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java
index 3b2d073..4b381fd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/affinity/GridCacheAffinityImpl.java
@@ -147,14 +147,8 @@ public class GridCacheAffinityImpl<K, V> implements CacheAffinity<K> {
@Override public Object affinityKey(K key) {
A.notNull(key, "key");
- if (cctx.portableEnabled()) {
- try {
- key = (K)cctx.marshalToPortable(key);
- }
- catch (IgniteException e) {
- U.error(log, "Failed to marshal key to portable: " + key, e);
- }
- }
+ if (key instanceof CacheObject)
+ key = ((CacheObject)key).value(cctx.cacheObjectContext(), false);
return cctx.config().getAffinityMapper().affinityKey(key);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java
index ba4d44c..8ca8689 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/datastructures/CacheDataStructuresManager.java
@@ -247,7 +247,7 @@ public class CacheDataStructuresManager<K, V> extends GridCacheManagerAdapter<K,
* @param rmv {@code True} if entry was removed.
*/
public void onEntryUpdated(KeyCacheObject key, boolean rmv) {
- Object key0 = key.value(cctx, false);
+ Object key0 = key.value(cctx.cacheObjectContext(), false);
if (key0 instanceof GridCacheSetItemKey)
onSetItemUpdated((GridCacheSetItemKey)key0, rmv);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
index dfdda3a..6136e5f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
@@ -438,7 +438,7 @@ public abstract class GridDhtCacheAdapter<K, V> extends GridDistributedCacheAdap
long topVer,
boolean replicate,
@Nullable ExpiryPolicy plc) {
- if (p != null && !p.apply(key.<K>value(ctx, false), (V)val))
+ if (p != null && !p.apply(key.<K>value(ctx.cacheObjectContext(), false), (V)val))
return;
try {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index fb4e0e1..4740e10 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -318,7 +318,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
Object procRes = null;
Exception err = null;
- Object keyVal = key.value(cacheCtx, false);
+ Object keyVal = key.value(cacheCtx.cacheObjectContext(), false);
Object val0 = CU.value(val, cacheCtx, false);
for (T2<EntryProcessor<Object, Object, Object>, Object[]> t : txEntry.entryProcessors()) {
@@ -340,7 +340,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
}
if (err != null || procRes != null)
- ret.addEntryProcessResult(key.value(cacheCtx, false),
+ ret.addEntryProcessResult(key.value(cacheCtx.cacheObjectContext(), false),
err == null ? new CacheInvokeResult<>(procRes) : new CacheInvokeResult<>(err));
else
ret.invokeResult(true);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 103f3a7..ef5e7cc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -1323,7 +1323,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
taskName,
null);
- Object keyVal = entry.key().value(ctx, false);
+ Object keyVal = entry.key().value(ctx.cacheObjectContext(), false);
Object oldVal = CU.value(old, ctx, false);
Object updatedVal = null;
@@ -1464,9 +1464,10 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
taskName,
null);
- Object val = ctx.config().getInterceptor().onBeforePut(entry.key().value(ctx, false),
+ Object val = ctx.config().getInterceptor().onBeforePut(
+ entry.key().value(ctx.cacheObjectContext(), false),
CU.value(old, ctx, false),
- updated.value(ctx, false));
+ updated.value(ctx.cacheObjectContext(), false));
if (val == null)
continue;
@@ -1500,7 +1501,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
null);
IgniteBiTuple<Boolean, ?> interceptorRes = ctx.config().getInterceptor().onBeforeRemove(
- entry.key().value(ctx, false),
+ entry.key().value(ctx.cacheObjectContext(), false),
CU.value(old, ctx, false));
if (ctx.cancelRemove(interceptorRes))
@@ -1970,14 +1971,15 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
if (intercept) {
if (op == UPDATE) {
ctx.config().getInterceptor().onAfterPut(
- entry.key().value(ctx, false),
+ entry.key().value(ctx.cacheObjectContext(), false),
CU.value(updRes.newValue(), ctx, false));
}
else {
assert op == DELETE : op;
// Old value should be already loaded for 'CacheInterceptor.onBeforeRemove'.
- ctx.config().getInterceptor().onAfterRemove(entry.key().value(ctx, false),
+ ctx.config().getInterceptor().onAfterRemove(
+ entry.key().value(ctx.cacheObjectContext(), false),
CU.value(updRes.oldValue(), ctx, false));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
index e1d6afb..45e9455 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
@@ -901,7 +901,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object> implem
CacheInvokeResult<?> res0 = res.error() == null ?
new CacheInvokeResult<>(CU.value(res.result(), cctx, false)) : new CacheInvokeResult<>(res.error());
- map0.put(res.key().value(cctx, false), res0);
+ map0.put(res.key().value(cctx.cacheObjectContext(), false), res0);
}
if (opRes != null) {
@@ -933,7 +933,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object> implem
List<Object> keys = new ArrayList<>(failedKeys.size());
for (KeyCacheObject key : failedKeys)
- keys.add(key.value(cctx, false));
+ keys.add(key.value(cctx.cacheObjectContext(), false));
err0.add(keys, err);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/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 5f8038a..5dfc075 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
@@ -420,7 +420,7 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
finishUnmarshalCacheObjects(nearVals, cctx, ldr);
if (retVal != null)
- retVal.finishUnmarshal(cctx, ldr);
+ retVal.finishUnmarshal(cctx.cacheObjectContext(), ldr);
if (invokeRes != null) {
for (CacheInvokeDirectResult res : invokeRes)
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
new file mode 100644
index 0000000..08b43e0
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
@@ -0,0 +1,157 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache.distributed.near;
+
+import org.apache.ignite.*;
+import org.apache.ignite.internal.processors.cache.*;
+import org.apache.ignite.internal.processors.cache.version.*;
+import org.apache.ignite.plugin.extensions.communication.*;
+
+import java.nio.*;
+
+/**
+ * Cache object and version.
+ */
+public class CacheVersionedValue implements Message {
+ /** Cache version. */
+ private GridCacheVersion vers;
+
+ /** Cache object. */
+ private CacheObject obj;
+
+ /** */
+ public CacheVersionedValue() {
+ // No-op.
+ }
+
+ /**
+ * @param vers Cache version.
+ * @param obj Cache object.
+ */
+ CacheVersionedValue(GridCacheVersion vers, CacheObject obj) {
+ this.vers = vers;
+ this.obj = obj;
+ }
+
+ /**
+ * @return Cache version.
+ */
+ public GridCacheVersion version() {
+ return vers;
+ }
+
+ /**
+ * @return Cache object.
+ */
+ public CacheObject cacheObject() {
+ return obj;
+ }
+
+ /**
+ * This method is called before the whole message is sent
+ * and is responsible for pre-marshalling state.
+ *
+ * @param ctx Cache object context.
+ * @throws IgniteCheckedException If failed.
+ */
+ public void prepareMarshal(CacheObjectContext ctx) throws IgniteCheckedException {
+ if (obj != null)
+ obj.prepareMarshal(ctx);
+ }
+
+ /**
+ * This method is called after the whole message is recived
+ * and is responsible for unmarshalling state.
+ *
+ * @param ctx Context.
+ * @param ldr Class loader.
+ * @throws IgniteCheckedException If failed.
+ */
+ public void finishUnmarshal(GridCacheContext ctx, ClassLoader ldr) throws IgniteCheckedException {
+ if (obj != null)
+ obj.finishUnmarshal(ctx.cacheObjectContext(), ldr);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+ writer.setBuffer(buf);
+
+ if (!writer.isHeaderWritten()) {
+ if (!writer.writeHeader(directType(), fieldsCount()))
+ return false;
+
+ writer.onHeaderWritten();
+ }
+
+ switch (writer.state()) {
+ case 0:
+ if (!writer.writeMessage("obj", obj))
+ return false;
+
+ writer.incrementState();
+
+ case 1:
+ if (!writer.writeMessage("vers", vers))
+ return false;
+
+ writer.incrementState();
+
+ }
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+ reader.setBuffer(buf);
+
+ if (!reader.beforeMessageRead())
+ return false;
+
+ switch (reader.state()) {
+ case 0:
+ obj = reader.readMessage("obj");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 1:
+ vers = reader.readMessage("vers");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ }
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte directType() {
+ return 102;
+ }
+
+ /** {@inheritDoc} */
+ @Override public byte fieldsCount() {
+ return 2;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
index d06ca5b..b5cbe69 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
@@ -315,7 +315,7 @@ public class GridNearCacheEntry extends GridDistributedCacheEntry {
taskName,
true,
null,
- false).get().get(key.value(cctx, false));
+ false).get().get(key.value(cctx.cacheObjectContext(), false));
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
index 31481f2..b26c1ac 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
@@ -490,8 +490,8 @@ public final class GridNearGetFuture<K, V> extends GridCompoundIdentityFuture<Ma
}
if (v != null && !reload) {
- K key0 = key.value(cctx, false);
- V val0 = v.value(cctx, true);
+ K key0 = key.value(cctx.cacheObjectContext(), false);
+ V val0 = v.value(cctx.cacheObjectContext(), true);
if (cctx.portableEnabled()) {
val0 = (V)cctx.unwrapPortableIfNeeded(val0, !deserializePortable);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
index 6b16aa4..8057922 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -302,7 +302,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter {
// Must loop through keys, not map entries,
// as map entries may not have all the keys.
for (KeyCacheObject key : keys)
- c.apply(key, map.get(key.value(cacheCtx, false)));
+ c.apply(key, map.get(key.value(cacheCtx.cacheObjectContext(), false)));
return true;
}
@@ -332,7 +332,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter {
// Must loop through keys, not map entries,
// as map entries may not have all the keys.
for (KeyCacheObject key : keys)
- c.apply(key, map.get(key.value(cacheCtx, false)));
+ c.apply(key, map.get(key.value(cacheCtx.cacheObjectContext(), false)));
return true;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
index 2a6cddb..557331c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
@@ -934,7 +934,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
else {
assert F.isEmpty(res.invalidPartitions());
- for (Map.Entry<IgniteTxKey, NearTxPrepareResponseOwnedValue> entry : res.ownedValues().entrySet()) {
+ for (Map.Entry<IgniteTxKey, CacheVersionedValue> entry : res.ownedValues().entrySet()) {
IgniteTxEntry txEntry = tx.entry(entry.getKey());
assert txEntry != null;
@@ -946,7 +946,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
if (cacheCtx.isNear()) {
GridNearCacheEntry nearEntry = (GridNearCacheEntry)txEntry.cached();
- NearTxPrepareResponseOwnedValue tup = entry.getValue();
+ CacheVersionedValue tup = entry.getValue();
nearEntry.resetFromPrimary(tup.cacheObject(), tx.xidVersion(),
tup.version(), m.node().id());
@@ -954,7 +954,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
else if (txEntry.cached().detached()) {
GridDhtDetachedCacheEntry detachedEntry = (GridDhtDetachedCacheEntry)txEntry.cached();
- NearTxPrepareResponseOwnedValue tup = entry.getValue();
+ CacheVersionedValue tup = entry.getValue();
detachedEntry.resetFromPrimary(tup.cacheObject(), tx.xidVersion());
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
index 6cf80ef..f88d363 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
@@ -61,7 +61,7 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
/** Map of owned values to set on near node. */
@GridToStringInclude
@GridDirectTransient
- private Map<IgniteTxKey, NearTxPrepareResponseOwnedValue> ownedVals;
+ private Map<IgniteTxKey, CacheVersionedValue> ownedVals;
/** OwnedVals' keys for marshalling. */
@GridToStringExclude
@@ -70,8 +70,8 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
/** OwnedVals' values for marshalling. */
@GridToStringExclude
- @GridDirectCollection(NearTxPrepareResponseOwnedValue.class)
- private Collection<NearTxPrepareResponseOwnedValue> ownedValVals;
+ @GridDirectCollection(CacheVersionedValue.class)
+ private Collection<CacheVersionedValue> ownedValVals;
/** Cache return value. */
@GridDirectTransient
@@ -174,7 +174,7 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
if (ownedVals == null)
ownedVals = new HashMap<>();
- NearTxPrepareResponseOwnedValue oVal = new NearTxPrepareResponseOwnedValue(ver, val);
+ CacheVersionedValue oVal = new CacheVersionedValue(ver, val);
ownedVals.put(key, oVal);
}
@@ -182,9 +182,9 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
/**
* @return Owned values map.
*/
- public Map<IgniteTxKey, NearTxPrepareResponseOwnedValue> ownedValues() {
+ public Map<IgniteTxKey, CacheVersionedValue> ownedValues() {
return ownedVals == null ?
- Collections.<IgniteTxKey, NearTxPrepareResponseOwnedValue>emptyMap() :
+ Collections.<IgniteTxKey, CacheVersionedValue>emptyMap() :
Collections.unmodifiableMap(ownedVals);
}
@@ -234,7 +234,7 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
ownedValVals = ownedVals.values();
- for (Map.Entry<IgniteTxKey, NearTxPrepareResponseOwnedValue> entry : ownedVals.entrySet()) {
+ for (Map.Entry<IgniteTxKey, CacheVersionedValue> entry : ownedVals.entrySet()) {
GridCacheContext cacheCtx = ctx.cacheContext(entry.getKey().cacheId());
entry.getKey().prepareMarshal(cacheCtx);
@@ -266,14 +266,14 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
Iterator<IgniteTxKey> keyIter = ownedValKeys.iterator();
- Iterator<NearTxPrepareResponseOwnedValue> valueIter = ownedValVals.iterator();
+ Iterator<CacheVersionedValue> valueIter = ownedValVals.iterator();
while (keyIter.hasNext()) {
IgniteTxKey key = keyIter.next();
GridCacheContext cctx = ctx.cacheContext(key.cacheId());
- NearTxPrepareResponseOwnedValue value = valueIter.next();
+ CacheVersionedValue value = valueIter.next();
key.finishUnmarshal(cctx, ldr);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxPrepareResponseOwnedValue.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxPrepareResponseOwnedValue.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxPrepareResponseOwnedValue.java
deleted file mode 100644
index 87f936e..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/NearTxPrepareResponseOwnedValue.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.cache.distributed.near;
-
-import org.apache.ignite.*;
-import org.apache.ignite.internal.processors.cache.*;
-import org.apache.ignite.internal.processors.cache.version.*;
-import org.apache.ignite.plugin.extensions.communication.*;
-
-import java.nio.*;
-
-/**
- * Message for owned values to set on near node.
- */
-public class NearTxPrepareResponseOwnedValue implements Message {
- /** Cache version. */
- private GridCacheVersion vers;
-
- /** Cache object. */
- private CacheObject obj;
-
- /** */
- public NearTxPrepareResponseOwnedValue() {
- // No-op.
- }
-
- /**
- * @param vers Cache version.
- * @param obj Cache object.
- */
- NearTxPrepareResponseOwnedValue(GridCacheVersion vers, CacheObject obj) {
- this.vers = vers;
- this.obj = obj;
- }
-
- /**
- * @return Cache version.
- */
- public GridCacheVersion version() {
- return vers;
- }
-
- /**
- * @return Cache object.
- */
- public CacheObject cacheObject() {
- return obj;
- }
-
- /**
- * This method is called before the whole message is sent
- * and is responsible for pre-marshalling state.
- *
- * @param ctx Cache object context.
- * @throws org.apache.ignite.IgniteCheckedException If failed.
- */
- public void prepareMarshal(CacheObjectContext ctx) throws IgniteCheckedException {
- if (obj != null)
- obj.prepareMarshal(ctx);
- }
-
- /**
- * This method is called after the whole message is recived
- * and is responsible for unmarshalling state.
- *
- * @param ctx Context.
- * @param ldr Class loader.
- * @throws org.apache.ignite.IgniteCheckedException If failed.
- */
- public void finishUnmarshal(GridCacheContext ctx, ClassLoader ldr) throws IgniteCheckedException {
- if (obj != null)
- obj.finishUnmarshal(ctx, ldr);
- }
-
- /** {@inheritDoc} */
- @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
- writer.setBuffer(buf);
-
- if (!writer.isHeaderWritten()) {
- if (!writer.writeHeader(directType(), fieldsCount()))
- return false;
-
- writer.onHeaderWritten();
- }
-
- switch (writer.state()) {
- case 0:
- if (!writer.writeMessage("obj", obj))
- return false;
-
- writer.incrementState();
-
- case 1:
- if (!writer.writeMessage("vers", vers))
- return false;
-
- writer.incrementState();
-
- }
-
- return true;
- }
-
- /** {@inheritDoc} */
- @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
- reader.setBuffer(buf);
-
- if (!reader.beforeMessageRead())
- return false;
-
- switch (reader.state()) {
- case 0:
- obj = reader.readMessage("obj");
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 1:
- vers = reader.readMessage("vers");
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- }
-
- return true;
- }
-
- /** {@inheritDoc} */
- @Override public byte directType() {
- return 102;
- }
-
- /** {@inheritDoc} */
- @Override public byte fieldsCount() {
- return 2;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
index f0a17f2..cffe3c2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
@@ -1138,7 +1138,7 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> {
taskName,
null);
- Object keyVal = entry.key().value(ctx, false);
+ Object keyVal = entry.key().value(ctx.cacheObjectContext(), false);
Object oldVal = CU.value(old, ctx, false);
CacheInvokeEntry<Object, Object> invokeEntry = new CacheInvokeEntry<>(ctx, keyVal, oldVal);
@@ -1250,7 +1250,7 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> {
null);
Object interceptorVal = ctx.config().getInterceptor().onBeforePut(
- entry.key().value(ctx, false),
+ entry.key().value(ctx.cacheObjectContext(), false),
CU.value(old, ctx, false),
val);
@@ -1283,7 +1283,7 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> {
null);
IgniteBiTuple<Boolean, ?> interceptorRes = ctx.config().getInterceptor().onBeforeRemove(
- entry.key().value(ctx, false),
+ entry.key().value(ctx.cacheObjectContext(), false),
CU.value(old, ctx, false));
if (ctx.cancelRemove(interceptorRes))
@@ -1432,11 +1432,12 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> {
if (intercept) {
if (op == UPDATE) {
- ctx.config().getInterceptor().onAfterPut(entry.key().value(ctx, false),
- writeVal.value(ctx, false));
+ ctx.config().getInterceptor().onAfterPut(entry.key().value(ctx.cacheObjectContext(), false),
+ writeVal.value(ctx.cacheObjectContext(), false));
}
else
- ctx.config().getInterceptor().onAfterRemove(entry.key().value(ctx, false), t.get2());
+ ctx.config().getInterceptor().onAfterRemove(entry.key().value(ctx.cacheObjectContext(), false),
+ t.get2());
}
}
catch (GridCacheEntryRemovedException ignore) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
index 260cff1..2472867 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
@@ -2334,7 +2334,7 @@ public abstract class GridCacheQueryManager<K, V> extends GridCacheManagerAdapte
if (key != null)
return key;
- key = cctx.toCacheKeyObject(null, keyBytes(), false).value(cctx, false);
+ key = cctx.toCacheKeyObject(null, keyBytes(), false).value(cctx.cacheObjectContext(), false);
return key;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
index 43aaec3..7a77dc6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
@@ -130,13 +130,13 @@ public class CacheContinuousQueryEntry implements GridCacheDeployable, Message {
* @throws IgniteCheckedException In case of error.
*/
void unmarshal(GridCacheContext cctx, @Nullable ClassLoader ldr) throws IgniteCheckedException {
- key.finishUnmarshal(cctx, ldr);
+ key.finishUnmarshal(cctx.cacheObjectContext(), ldr);
if (newVal != null)
- newVal.finishUnmarshal(cctx, ldr);
+ newVal.finishUnmarshal(cctx.cacheObjectContext(), ldr);
if (oldVal != null)
- oldVal.finishUnmarshal(cctx, ldr);
+ oldVal.finishUnmarshal(cctx.cacheObjectContext(), ldr);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java
index 1bdadaf..f24fc8f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java
@@ -56,7 +56,7 @@ class CacheContinuousQueryEvent<K, V> extends CacheEntryEvent<K, V> {
/** {@inheritDoc} */
@Override public K getKey() {
- return e.key().value(cctx, false);
+ return e.key().value(cctx.cacheObjectContext(), false);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
index c336d00..37f4494 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
@@ -167,11 +167,11 @@ public class CacheContinuousQueryManager<K, V> extends GridCacheManagerAdapter<K
oldVal = cctx.unwrapTemporary(oldVal);
if (oldVal != null)
- oldVal.finishUnmarshal(cctx, cctx.deploy().globalLoader());
+ oldVal.finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
}
if (newVal != null)
- newVal.finishUnmarshal(cctx, cctx.deploy().globalLoader());
+ newVal.finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
initialized = true;
}
@@ -221,7 +221,7 @@ public class CacheContinuousQueryManager<K, V> extends GridCacheManagerAdapter<K
oldVal = cctx.unwrapTemporary(oldVal);
if (oldVal != null)
- oldVal.finishUnmarshal(cctx, cctx.deploy().globalLoader());
+ oldVal.finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
initialized = true;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
index 31a8d69..0e37349 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
@@ -1225,7 +1225,7 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter
boolean modified = false;
- Object key = txEntry.key().value(txEntry.context(), false);
+ Object key = txEntry.key().value(txEntry.context().cacheObjectContext(), false);
Object val = CU.value(cacheVal, txEntry.context(), false);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
index 87ab46b..323ba15 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
@@ -738,7 +738,7 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
}
}
- key.finishUnmarshal(context(), clsLdr);
+ key.finishUnmarshal(context().cacheObjectContext(), clsLdr);
val.unmarshal(this.ctx, clsLdr);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
index eb0fee8..2237d63 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
@@ -84,7 +84,7 @@ public class IgniteTxKey implements Message {
public void finishUnmarshal(GridCacheContext ctx, ClassLoader ldr) throws IgniteCheckedException {
assert key != null;
- key.finishUnmarshal(ctx, ldr);
+ key.finishUnmarshal(ctx.cacheObjectContext(), ldr);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/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 5651d0f..342ebd0 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
@@ -539,7 +539,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
Object oldVal = CU.value(e.cached().rawGetOrUnmarshal(true), cacheCtx, false);
Object interceptorVal = cacheCtx.config().getInterceptor().onBeforePut(
- key.value(cacheCtx, false),
+ key.value(cacheCtx.cacheObjectContext(), false),
oldVal,
CU.value(val, cacheCtx, false));
@@ -582,7 +582,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
Object oldVal = CU.value(e.cached().rawGetOrUnmarshal(true), cacheCtx, false);
IgniteBiTuple<Boolean, Object> t = cacheCtx.config().getInterceptor()
- .onBeforeRemove(key.value(cacheCtx, false), oldVal);
+ .onBeforeRemove(key.value(cacheCtx.cacheObjectContext(), false), oldVal);
if (cacheCtx.cancelRemove(t))
continue;
@@ -1647,7 +1647,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
// Load keys only after the locks have been acquired.
for (KeyCacheObject cacheKey : lockKeys) {
- K keyVal = (K)(keepCacheObjects ? cacheKey : cacheKey.value(cacheCtx, false));
+ K keyVal =
+ (K)(keepCacheObjects ? cacheKey : cacheKey.value(cacheCtx.cacheObjectContext(), false));
if (retMap.containsKey(keyVal))
// We already have a return value.
@@ -1790,7 +1791,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
for (Iterator<KeyCacheObject> it = missed.keySet().iterator(); it.hasNext(); ) {
KeyCacheObject cacheKey = it.next();
- K keyVal = (K)(keepCacheObjects ? cacheKey : cacheKey.value(cacheCtx, false));
+ K keyVal =
+ (K)(keepCacheObjects ? cacheKey : cacheKey.value(cacheCtx.cacheObjectContext(), false));
if (retMap.containsKey(keyVal))
it.remove();
@@ -2463,7 +2465,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
private void addInvokeResult(IgniteTxEntry txEntry, CacheObject cacheVal, GridCacheReturn<?> ret) {
GridCacheContext ctx = txEntry.context();
- Object keyVal = txEntry.key().value(ctx, false);
+ Object keyVal = txEntry.key().value(ctx.cacheObjectContext(), false);
Object val = CU.value(cacheVal, ctx, false);
try {
@@ -2598,21 +2600,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
// Loose all skipped.
final Set<KeyCacheObject> loaded = loadFut.get();
- final Collection<KeyCacheObject> keys;
-
- if (keySet != null ) {
- keys = new ArrayList<>(keySet.size());
-
- // TODO IGNITE-51.
- for (K k : keySet) {
- KeyCacheObject cacheKey = cacheCtx.toCacheKeyObject(k);
-
- if (k != null && (loaded == null || !loaded.contains(cacheKey)))
- keys.add(cacheKey);
- }
- }
- else
- keys = Collections.emptyList();
+ final Collection<KeyCacheObject> keys = F.view(enlisted, F0.notIn(loaded));
if (log.isDebugEnabled())
log.debug("Before acquiring transaction lock for put on keys: " + keys);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java
index cce97b1..b6b724f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java
@@ -137,7 +137,7 @@ public class TxEntryValueHolder implements Message {
*/
public void unmarshal(GridCacheContext<?, ?> ctx, ClassLoader ldr) throws IgniteCheckedException {
if (hasWriteVal && val != null)
- val.finishUnmarshal(ctx, ldr);
+ val.finishUnmarshal(ctx.cacheObjectContext(), ldr);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadUpdateJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadUpdateJob.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadUpdateJob.java
index c19d9e6..7d46e23 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadUpdateJob.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/GridDataLoadUpdateJob.java
@@ -109,12 +109,12 @@ class GridDataLoadUpdateJob implements GridPlainCallable<Object> {
final GridCacheContext cctx = cache.context();
for (IgniteDataLoaderEntry e : col) {
- e.getKey().finishUnmarshal(cctx, cctx.deploy().globalLoader());
+ e.getKey().finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
CacheObject val = e.getValue();
if (val != null)
- val.finishUnmarshal(cctx, cctx.deploy().globalLoader());
+ val.finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
}
if (unwrapEntries()) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderEntry.java
index b6efc9f..89bebe4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderEntry.java
@@ -79,7 +79,7 @@ public class IgniteDataLoaderEntry implements Map.Entry<KeyCacheObject, CacheObj
public <K, V> Map.Entry<K, V> toEntry(final GridCacheContext ctx) {
return new Map.Entry<K, V>() {
@Override public K getKey() {
- return key.value(ctx, false);
+ return key.value(ctx.cacheObjectContext(), false);
}
@Override public V setValue(V val) {
@@ -87,7 +87,7 @@ public class IgniteDataLoaderEntry implements Map.Entry<KeyCacheObject, CacheObj
}
@Override public V getValue() {
- return val != null ? val.<V>value(ctx, false) : null;
+ return val != null ? val.<V>value(ctx.cacheObjectContext(), false) : null;
}
};
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/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 35a79be..b6ec07e 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
@@ -446,9 +446,12 @@ public class IgniteDataLoaderImpl<K, V> implements IgniteDataLoader<K, V>, Delay
return new IgniteFutureImpl<>(resFut);
}
- catch (IgniteException e) {
+ catch (Throwable e) {
resFut.onDone(e);
+ if (e instanceof Error)
+ throw e;
+
return new IgniteFinishedFutureImpl<>(ctx, e);
}
finally {
@@ -505,8 +508,8 @@ public class IgniteDataLoaderImpl<K, V> implements IgniteDataLoader<K, V>, Delay
assert key != null;
if (initPda) {
- jobPda = new DataLoaderPda(key.value(null, false),
- CU.value(entry.getValue(), null, false),
+ jobPda = new DataLoaderPda(key.value(cacheObjCtx, false),
+ entry.getValue() != null ? entry.getValue().value(cacheObjCtx, false) : null,
updater);
initPda = false;
@@ -1343,7 +1346,7 @@ public class IgniteDataLoaderImpl<K, V> implements IgniteDataLoader<K, V>, Delay
for (Map.Entry<KeyCacheObject, CacheObject> e : entries) {
try {
- e.getKey().finishUnmarshal(cctx, cctx.deploy().globalLoader());
+ e.getKey().finishUnmarshal(cctx.cacheObjectContext(), cctx.deploy().globalLoader());
GridCacheEntryEx entry = internalCache.entryEx(e.getKey(), topVer);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
index 91c69ff..6befea6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
@@ -1005,7 +1005,7 @@ public final class DataStructuresProcessor extends GridProcessorAdapter {
for (IgniteTxEntry entry : entries) {
// Check updated or created GridCacheInternalKey keys.
if ((entry.op() == CREATE || entry.op() == UPDATE) && entry.key().internal()) {
- GridCacheInternal key = entry.key().value(entry.context(), false);
+ GridCacheInternal key = entry.key().value(entry.context().cacheObjectContext(), false);
Object val0 = CU.value(entry.value(), entry.context(), false);
@@ -1038,7 +1038,7 @@ public final class DataStructuresProcessor extends GridProcessorAdapter {
// Check deleted GridCacheInternal keys.
if (entry.op() == DELETE && entry.key().internal()) {
- GridCacheInternal key = entry.key().value(entry.context(), false);
+ GridCacheInternal key = entry.key().value(entry.context().cacheObjectContext(), false);
// Entry's val is null if entry deleted.
GridCacheRemovable obj = dsMap.remove(key);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
index bca8127..9500571 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
@@ -20,10 +20,12 @@ package org.apache.ignite.internal.processors.portable;
import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
import org.apache.ignite.internal.processors.*;
import org.apache.ignite.internal.processors.cache.*;
import org.apache.ignite.internal.util.*;
+import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.lang.*;
import org.jetbrains.annotations.*;
@@ -75,7 +77,7 @@ public abstract class IgniteCacheObjectProcessorAdapter extends GridProcessorAda
if (obj == null)
return null;
- return obj.prepareForCache(cctx);
+ return obj.prepareForCache(cctx.cacheObjectContext());
}
/** {@inheritDoc} */
@@ -140,7 +142,20 @@ public abstract class IgniteCacheObjectProcessorAdapter extends GridProcessorAda
/** {@inheritDoc} */
@Override public CacheObjectContext contextForCache(ClusterNode node, @Nullable String cacheName) {
- return new CacheObjectContext(ctx);
+ CacheConfiguration ccfg = null;
+
+ for (CacheConfiguration ccfg0 : ctx.config().getCacheConfiguration()) {
+ if (F.eq(cacheName, ccfg0.getName())) {
+ ccfg = ccfg0;
+
+ break;
+ }
+ }
+
+ return new CacheObjectContext(ctx,
+ new GridCacheDefaultAffinityKeyMapper(),
+ ccfg != null && ccfg.isCopyOnGet(),
+ ccfg != null && ccfg.isQueryIndexEnabled());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index be78585..b8b67cd 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -3439,7 +3439,8 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
locKeys.addAll(cache.keySet(new CacheEntryPredicateAdapter() {
@Override public boolean apply(GridCacheEntryEx e) {
- return grid(0).affinity(null).isBackup(grid(0).localNode(), e.key().value(e.context(), false));
+ return grid(0).affinity(null).isBackup(grid(0).localNode(),
+ e.key().value(e.context().cacheObjectContext(), false));
}
}));
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapSelfTest.java
index fdc7e81..ad2a4d2 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapSelfTest.java
@@ -577,7 +577,7 @@ public class GridCacheOffHeapSelfTest extends GridCommonAbstractTest {
CacheValue val = CU.value(entry.rawGet(), entry.context(), false);
assertNotNull("Value null for key: " + i, val);
- assertEquals(entry.key().value(entry.context(), false), (Integer)val.value());
+ assertEquals(entry.key().value(entry.context().cacheObjectContext(), false), (Integer)val.value());
assertEquals(entry.version(), versions.get(i));
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java
index 8b240f5..ecfa7f6 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java
@@ -357,7 +357,7 @@ public abstract class GridCacheAbstractQueueFailoverDataConsistencySelfTest exte
for (int i = 0; i < gridCount(); i++) {
for (GridCacheEntryEx e : ((IgniteKernal)grid(i)).context().cache().internalCache(cctx.name()).map().allEntries0()) {
- if (aff.primary(grid(i).localNode(), e.key(), -1) && e.key().value(cctx, false) instanceof GridCacheQueueHeaderKey)
+ if (aff.primary(grid(i).localNode(), e.key(), -1) && e.key().value(cctx.cacheObjectContext(), false) instanceof GridCacheQueueHeaderKey)
return i;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
index 7f73726..ec5fc5b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
@@ -270,7 +270,7 @@ public class GridCachePartitionedMultiNodeCounterSelfTest extends GridCommonAbst
assertNotNull(dhtEntry);
- assertEquals(Integer.valueOf(0), dhtEntry.rawGet().value(dhtEntry.context(), false));
+ assertEquals(Integer.valueOf(0), dhtEntry.rawGet().value(dhtEntry.context().cacheObjectContext(), false));
final AtomicInteger globalCntr = new AtomicInteger(0);
@@ -560,7 +560,7 @@ public class GridCachePartitionedMultiNodeCounterSelfTest extends GridCommonAbst
assertNotNull(dhtEntry);
- assertEquals(Integer.valueOf(0), dhtEntry.rawGet().value(dhtEntry.context(), false));
+ assertEquals(Integer.valueOf(0), dhtEntry.rawGet().value(dhtEntry.context().cacheObjectContext(), false));
startLatchMultiNode = new CountDownLatch(gridCnt);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 3002673..d98da6c 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -2086,10 +2086,9 @@ public class IgniteH2Indexing implements GridQueryIndexing {
if (cctx.isNear())
cctx = cctx.near().dht().context();
- // TODO IGNITE-51.
GridCacheSwapEntry e = cctx.swap().read(cctx.toCacheKeyObject(key), true, true);
- return e != null ? e.value().value(cctx, false) : null;
+ return e != null ? e.value().value(cctx.cacheObjectContext(), false) : null;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapAndSwapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapAndSwapSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapAndSwapSelfTest.java
index 28f7ce0..952651a 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapAndSwapSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffHeapAndSwapSelfTest.java
@@ -271,10 +271,10 @@ public class GridCacheOffHeapAndSwapSelfTest extends GridCommonAbstractTest {
assert entry != null;
assert entry.key() != null;
- Long val = entry.rawGet().value(entry.context(), false);
+ Long val = entry.rawGet().value(entry.context().cacheObjectContext(), false);
assertNotNull("Value null for key: " + i, val);
- assertEquals(entry.key().value(entry.context(), false), val);
+ assertEquals(entry.key().value(entry.context().cacheObjectContext(), false), val);
assertEquals(entry.version(), versions.get(i));
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b876320e/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringDynamicCacheManager.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringDynamicCacheManager.java b/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringDynamicCacheManager.java
index 0a538a0..f5af8b8 100644
--- a/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringDynamicCacheManager.java
+++ b/modules/spring/src/main/java/org/apache/ignite/cache/spring/SpringDynamicCacheManager.java
@@ -316,7 +316,7 @@ public class SpringDynamicCacheManager extends SpringCacheManager {
/** {@inheritDoc} */
@Override public boolean apply(GridCacheEntryEx e) {
- DataKey key = e.key().value(e.context(), false);
+ DataKey key = e.key().value(e.context().cacheObjectContext(), false);
return name != null ? name.equals(key.name) : key.name == null;
}