You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dm...@apache.org on 2015/10/27 10:32:56 UTC
[1/3] ignite git commit: ignite-1272: support of custom class loaders
and conditional deployment info for portable marshaller and portable caches
Repository: ignite
Updated Branches:
refs/heads/master 18fb46e2b -> df931bd09
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java
index 4422952..578f6de 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryManager.java
@@ -207,7 +207,8 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
cctx.cacheId(),
req.id(),
new IgniteCheckedException("Received request for incorrect cache [expected=" + cctx.name() +
- ", actual=" + req.cacheName()));
+ ", actual=" + req.cacheName()),
+ cctx.deploymentEnabled());
sendQueryResponse(sndId, res, 0);
}
@@ -228,7 +229,8 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
catch (Throwable e) {
U.error(log(), "Failed to run query.", e);
- sendQueryResponse(sndId, new GridCacheQueryResponse(cctx.cacheId(), req.id(), e.getCause()), 0);
+ sendQueryResponse(sndId, new GridCacheQueryResponse(cctx.cacheId(), req.id(), e.getCause(),
+ cctx.deploymentEnabled()), 0);
if (e instanceof Error)
throw (Error)e;
@@ -445,7 +447,7 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
fut.onPage(null, null, e, true);
else
sendQueryResponse(qryInfo.senderId(),
- new GridCacheQueryResponse(cctx.cacheId(), qryInfo.requestId(), e),
+ new GridCacheQueryResponse(cctx.cacheId(), qryInfo.requestId(), e, cctx.deploymentEnabled()),
qryInfo.query().timeout());
return true;
@@ -455,7 +457,7 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
fut.onPage(null, data, null, finished);
else {
GridCacheQueryResponse res = new GridCacheQueryResponse(cctx.cacheId(), qryInfo.requestId(),
- /*finished*/false, /*fields*/false);
+ /*finished*/false, /*fields*/false, cctx.deploymentEnabled());
res.data(data);
res.finished(finished);
@@ -484,7 +486,7 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
}
else
sendQueryResponse(qryInfo.senderId(),
- new GridCacheQueryResponse(cctx.cacheId(), qryInfo.requestId(), e),
+ new GridCacheQueryResponse(cctx.cacheId(), qryInfo.requestId(), e, cctx.deploymentEnabled()),
qryInfo.query().timeout());
return true;
@@ -497,7 +499,7 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
}
else {
GridCacheQueryResponse res = new GridCacheQueryResponse(cctx.cacheId(), qryInfo.requestId(),
- finished, qryInfo.reducer() == null);
+ finished, qryInfo.reducer() == null, cctx.deploymentEnabled());
res.metadata(metadata);
res.data(entities != null ? entities : data);
@@ -567,7 +569,8 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
qry.query().keepPortable(),
qry.query().subjectId(),
qry.query().taskHash(),
- queryTopologyVersion());
+ queryTopologyVersion(),
+ cctx.deploymentEnabled());
addQueryFuture(req.id(), fut);
@@ -612,7 +615,8 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
qry.keepPortable(),
qry.subjectId(),
qry.taskHash(),
- queryTopologyVersion());
+ queryTopologyVersion(),
+ cctx.deploymentEnabled());
sendRequest(fut, req, nodes);
}
@@ -678,7 +682,8 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
qry.query().keepPortable(),
qry.query().subjectId(),
qry.query().taskHash(),
- queryTopologyVersion());
+ queryTopologyVersion(),
+ cctx.deploymentEnabled());
addQueryFuture(req.id(), fut);
@@ -823,4 +828,4 @@ public class GridCacheDistributedQueryManager<K, V> extends GridCacheQueryManage
return S.toString(CancelMessageId.class, this);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
index c9ce933..c7feda4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
@@ -139,15 +139,18 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
* @param id Request to cancel.
* @param fields Fields query flag.
* @param topVer Topology version.
+ * @param addDepInfo Deployment info flag.
*/
public GridCacheQueryRequest(int cacheId,
long id,
boolean fields,
- AffinityTopologyVersion topVer) {
+ AffinityTopologyVersion topVer,
+ boolean addDepInfo) {
this.cacheId = cacheId;
this.id = id;
this.fields = fields;
this.topVer = topVer;
+ this.addDepInfo = addDepInfo;
cancel = true;
}
@@ -166,6 +169,7 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
* @param subjId Subject ID.
* @param taskHash Task name hash code.
* @param topVer Topology version.
+ * @param addDepInfo Deployment info flag.
*/
public GridCacheQueryRequest(
int cacheId,
@@ -178,7 +182,8 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
boolean keepPortable,
UUID subjId,
int taskHash,
- AffinityTopologyVersion topVer
+ AffinityTopologyVersion topVer,
+ boolean addDepInfo
) {
this.cacheId = cacheId;
this.id = id;
@@ -191,6 +196,7 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
this.subjId = subjId;
this.taskHash = taskHash;
this.topVer = topVer;
+ this.addDepInfo = addDepInfo;
}
/**
@@ -213,6 +219,7 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
* @param subjId Subject ID.
* @param taskHash Task name hash code.
* @param topVer Topology version.
+ * @param addDepInfo Deployment info flag.
*/
public GridCacheQueryRequest(
int cacheId,
@@ -233,7 +240,8 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
boolean keepPortable,
UUID subjId,
int taskHash,
- AffinityTopologyVersion topVer
+ AffinityTopologyVersion topVer,
+ boolean addDepInfo
) {
assert type != null || fields;
assert clause != null || (type == SCAN || type == SET || type == SPI);
@@ -258,6 +266,7 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
this.subjId = subjId;
this.taskHash = taskHash;
this.topVer = topVer;
+ this.addDepInfo = addDepInfo;
}
/** {@inheritDoc} */
@@ -269,34 +278,36 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
@Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
super.prepareMarshal(ctx);
+ GridCacheContext cctx = ctx.cacheContext(cacheId);
+
if (keyValFilter != null) {
- if (ctx.deploymentEnabled())
- prepareObject(keyValFilter, ctx);
+ if (addDepInfo)
+ prepareObject(keyValFilter, cctx);
- keyValFilterBytes = CU.marshal(ctx, keyValFilter);
+ keyValFilterBytes = CU.marshal(cctx, keyValFilter);
}
if (rdc != null) {
- if (ctx.deploymentEnabled())
- prepareObject(rdc, ctx);
+ if (addDepInfo)
+ prepareObject(rdc, cctx);
- rdcBytes = CU.marshal(ctx, rdc);
+ rdcBytes = CU.marshal(cctx, rdc);
}
if (trans != null) {
- if (ctx.deploymentEnabled())
- prepareObject(trans, ctx);
+ if (addDepInfo)
+ prepareObject(trans, cctx);
- transBytes = CU.marshal(ctx, trans);
+ transBytes = CU.marshal(cctx, trans);
}
if (!F.isEmpty(args)) {
- if (ctx.deploymentEnabled()) {
+ if (addDepInfo) {
for (Object arg : args)
- prepareObject(arg, ctx);
+ prepareObject(arg, cctx);
}
- argsBytes = CU.marshal(ctx, args);
+ argsBytes = CU.marshal(cctx, args);
}
}
@@ -319,6 +330,11 @@ public class GridCacheQueryRequest extends GridCacheMessage implements GridCache
args = mrsh.unmarshal(argsBytes, ldr);
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
/**
* @param ctx Context.
* @throws IgniteCheckedException In case of error.
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
index 78e2ac7..cce465b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
@@ -25,6 +25,7 @@ import java.util.Map;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.GridDirectCollection;
import org.apache.ignite.internal.GridDirectTransient;
+import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
import org.apache.ignite.internal.processors.cache.GridCacheMessage;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
@@ -89,23 +90,28 @@ public class GridCacheQueryResponse extends GridCacheMessage implements GridCach
* @param reqId Request id.
* @param finished Last response or not.
* @param fields Fields query or not.
+ * @param addDepInfo Deployment info flag.
*/
- public GridCacheQueryResponse(int cacheId, long reqId, boolean finished, boolean fields) {
+ public GridCacheQueryResponse(int cacheId, long reqId, boolean finished, boolean fields, boolean addDepInfo) {
this.cacheId = cacheId;
this.reqId = reqId;
this.finished = finished;
this.fields = fields;
+ this.addDepInfo = addDepInfo;
}
/**
* @param cacheId Cache ID.
* @param reqId Request id.
* @param err Error.
+ * @param addDepInfo Deployment info flag.
*/
- public GridCacheQueryResponse(int cacheId, long reqId, Throwable err) {
+ public GridCacheQueryResponse(int cacheId, long reqId, Throwable err, boolean addDepInfo) {
this.cacheId = cacheId;
this.reqId = reqId;
this.err = err;
+ this.addDepInfo = addDepInfo;
+
finished = true;
}
@@ -114,19 +120,21 @@ public class GridCacheQueryResponse extends GridCacheMessage implements GridCach
@Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
super.prepareMarshal(ctx);
+ GridCacheContext cctx = ctx.cacheContext(cacheId);
+
if (err != null)
errBytes = ctx.marshaller().marshal(err);
- metaDataBytes = marshalCollection(metadata, ctx);
- dataBytes = marshalCollection(data, ctx);
+ metaDataBytes = marshalCollection(metadata, cctx);
+ dataBytes = marshalCollection(data, cctx);
- if (ctx.deploymentEnabled() && !F.isEmpty(data)) {
+ if (addDepInfo && !F.isEmpty(data)) {
for (Object o : data) {
if (o instanceof Map.Entry) {
Map.Entry e = (Map.Entry)o;
- prepareObject(e.getKey(), ctx);
- prepareObject(e.getValue(), ctx);
+ prepareObject(e.getKey(), cctx);
+ prepareObject(e.getValue(), cctx);
}
}
}
@@ -143,6 +151,11 @@ public class GridCacheQueryResponse extends GridCacheMessage implements GridCach
data = unmarshalCollection(dataBytes, ctx, ldr);
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
/**
* @return Metadata.
*/
@@ -339,4 +352,4 @@ public class GridCacheQueryResponse extends GridCacheMessage implements GridCach
@Override public String toString() {
return S.toString(GridCacheQueryResponse.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
index 1990e18..e517c70 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
@@ -233,12 +233,10 @@ class CacheContinuousQueryHandler<K, V> implements GridContinuousHandler {
locLsnr.onUpdated(F.<CacheEntryEvent<? extends K, ? extends V>>asList(evt));
else {
try {
- if (ctx.config().isPeerClassLoadingEnabled() && ctx.discovery().node(nodeId) != null) {
+ if (cctx.deploymentEnabled() && ctx.discovery().node(nodeId) != null) {
evt.entry().prepareMarshal(cctx);
- GridCacheDeploymentManager depMgr = cctx.deploy();
-
- depMgr.prepare(evt.entry());
+ cctx.deploy().prepare(evt.entry());
}
else
evt.entry().prepareMarshal(cctx);
@@ -551,4 +549,4 @@ class CacheContinuousQueryHandler<K, V> implements GridContinuousHandler {
depInfo = (GridDeploymentInfo)in.readObject();
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
index 11cd3fd..20fb8c2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
@@ -280,6 +280,12 @@ public interface IgniteInternalTx extends AutoCloseable, GridTimeoutObject {
public Collection<Integer> activeCacheIds();
/**
+ * @return {@code true} or {@code false} if the deployment is enabled or disabled for all active caches involved
+ * in this transaction.
+ */
+ public boolean activeCachesDeploymentEnabled();
+
+ /**
* Attempts to set topology version and returns the current value.
* If topology version was previously set, then it's value will
* be returned (but not updated).
@@ -722,4 +728,4 @@ public interface IgniteInternalTx extends AutoCloseable, GridTimeoutObject {
* @param topVer New topology version.
*/
public void onRemap(AffinityTopologyVersion topVer);
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 88752a2..7d7e3e8 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
@@ -1757,6 +1757,11 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter
}
/** {@inheritDoc} */
+ @Override public boolean activeCachesDeploymentEnabled() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Nullable @Override public Object addMeta(int key, Object val) {
throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 3c33d19..2462dda 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
@@ -735,13 +735,13 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
if (filters != null) {
for (CacheEntryPredicate p : filters) {
if (p != null)
- p.prepareMarshal(ctx.cacheContext(cacheId));
+ p.prepareMarshal(this.ctx);
}
}
// Do not serialize filters if they are null.
if (transformClosBytes == null && entryProcessorsCol != null)
- transformClosBytes = CU.marshal(ctx, entryProcessorsCol);
+ transformClosBytes = CU.marshal(this.ctx, entryProcessorsCol);
if (transferExpiry)
transferExpiryPlc = expiryPlc != null && expiryPlc != this.ctx.expiry();
@@ -750,7 +750,7 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
val.marshal(ctx, context());
- expiryPlcBytes = transferExpiryPlc ? CU.marshal(ctx, new IgniteExternalizableExpiryPolicy(expiryPlc)) : null;
+ expiryPlcBytes = transferExpiryPlc ? CU.marshal(this.ctx, new IgniteExternalizableExpiryPolicy(expiryPlc)) : null;
}
/**
@@ -1038,4 +1038,4 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
return GridToStringBuilder.toString(IgniteTxEntry.class, this, "xidVer", tx == null ? "null" : tx.xidVersion());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
index c2cc629..530fbdf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
@@ -241,7 +241,8 @@ public class IgniteTxHandler {
req.version(),
null,
e,
- null);
+ null,
+ req.deployInfo() != null);
}
}
});
@@ -327,7 +328,8 @@ public class IgniteTxHandler {
req.version(),
null,
null,
- top.topologyVersion());
+ top.topologyVersion(),
+ req.deployInfo() != null);
try {
ctx.io().send(nearNode, res, req.policy());
@@ -787,7 +789,7 @@ public class IgniteTxHandler {
GridDhtTxPrepareResponse res;
try {
- res = new GridDhtTxPrepareResponse(req.version(), req.futureId(), req.miniId());
+ res = new GridDhtTxPrepareResponse(req.version(), req.futureId(), req.miniId(), req.deployInfo() != null);
// Start near transaction first.
nearTx = !F.isEmpty(req.nearWrites()) ? startNearRemoteTx(ctx.deploy().globalLoader(), nodeId, req) : null;
@@ -833,7 +835,8 @@ public class IgniteTxHandler {
if (nearTx != null)
nearTx.rollback();
- res = new GridDhtTxPrepareResponse(req.version(), req.futureId(), req.miniId(), e);
+ res = new GridDhtTxPrepareResponse(req.version(), req.futureId(), req.miniId(), e,
+ req.deployInfo() != null);
}
try {
@@ -1344,7 +1347,8 @@ public class IgniteTxHandler {
GridCacheTxRecoveryRequest req,
boolean prepared) {
GridCacheTxRecoveryResponse res =
- new GridCacheTxRecoveryResponse(req.version(), req.futureId(), req.miniId(), prepared);
+ new GridCacheTxRecoveryResponse(req.version(), req.futureId(), req.miniId(), prepared,
+ req.deployInfo() != null);
try {
if (log.isDebugEnabled())
@@ -1382,4 +1386,4 @@ public class IgniteTxHandler {
fut.onResult(nodeId, res);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 aa0ffe8..f22e753 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
@@ -164,6 +164,9 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
/** Implicit transaction result. */
protected GridCacheReturn implicitRes;
+ /** Flag indicating whether deployment is enabled for caches from this transaction or not. */
+ private boolean depEnabled;
+
/**
* Empty constructor required for {@link Externalizable}.
*/
@@ -276,6 +279,11 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
}
/** {@inheritDoc} */
+ @Override public boolean activeCachesDeploymentEnabled() {
+ return depEnabled;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean isStarted() {
return txMap != null;
}
@@ -3234,6 +3242,9 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
}
else
activeCacheIds.add(cacheId);
+
+ if (activeCacheIds.size() == 1)
+ depEnabled = cacheCtx.deploymentEnabled();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
index 6e7fadd..0bc102e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java
@@ -91,7 +91,7 @@ public class IgniteCacheObjectProcessorImpl extends GridProcessorAdapter impleme
/** {@inheritDoc} */
@Override public byte[] marshal(CacheObjectContext ctx, Object val) throws IgniteCheckedException {
- return CU.marshal(ctx.kernalContext().cache().context(), val);
+ return CU.marshal(ctx.kernalContext().cache().context(), ctx.addDeploymentInfo(), val);
}
/** {@inheritDoc} */
@@ -209,7 +209,8 @@ public class IgniteCacheObjectProcessorImpl extends GridProcessorAdapter impleme
CacheObjectContext res = new CacheObjectContext(ctx,
ccfg.getAffinityMapper() != null ? ccfg.getAffinityMapper() : new GridCacheDefaultAffinityKeyMapper(),
ccfg.isCopyOnRead() && memMode != OFFHEAP_VALUES,
- storeVal);
+ storeVal,
+ ctx.config().isPeerClassLoadingEnabled() && !isPortableEnabled(ccfg));
ctx.resource().injectGeneric(res.defaultAffMapper());
@@ -392,4 +393,4 @@ public class IgniteCacheObjectProcessorImpl extends GridProcessorAdapter impleme
return new CacheObjectByteArrayImpl(valCpy);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/marshaller/AbstractMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/AbstractMarshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/AbstractMarshaller.java
index 8c79a93..dd5bad0 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/AbstractMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/AbstractMarshaller.java
@@ -37,6 +37,16 @@ public abstract class AbstractMarshaller implements Marshaller {
/** Context. */
protected MarshallerContext ctx;
+
+ /**
+ * Undeployment callback invoked when class loader is being undeployed.
+ *
+ * Some marshallers may want to clean their internal state that uses the undeployed class loader somehow.
+ *
+ * @param ldr Class loader being undeployed.
+ */
+ public abstract void onUndeploy(ClassLoader ldr);
+
/** {@inheritDoc} */
@Override public void setContext(MarshallerContext ctx) {
this.ctx = ctx;
@@ -71,4 +81,4 @@ public abstract class AbstractMarshaller implements Marshaller {
U.close(in, null);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/marshaller/jdk/JdkMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/jdk/JdkMarshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/jdk/JdkMarshaller.java
index 0f4cf1f..deb3953 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/jdk/JdkMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/jdk/JdkMarshaller.java
@@ -115,7 +115,12 @@ public class JdkMarshaller extends AbstractMarshaller {
}
/** {@inheritDoc} */
+ @Override public void onUndeploy(ClassLoader ldr) {
+ // No-op.
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(JdkMarshaller.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
index b9b782a..caccd99 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedMarshaller.java
@@ -288,7 +288,7 @@ public class OptimizedMarshaller extends AbstractMarshaller {
*
* @param ldr Class loader being undeployed.
*/
- public void onUndeploy(ClassLoader ldr) {
+ @Override public void onUndeploy(ClassLoader ldr) {
for (Class<?> cls : clsMap.keySet()) {
if (ldr.equals(cls.getClassLoader()))
clsMap.remove(cls);
@@ -296,4 +296,4 @@ public class OptimizedMarshaller extends AbstractMarshaller {
U.clearClassCache(ldr);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicEntryProcessorDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicEntryProcessorDeploymentSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicEntryProcessorDeploymentSelfTest.java
new file mode 100644
index 0000000..0873d2d
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAtomicEntryProcessorDeploymentSelfTest.java
@@ -0,0 +1,211 @@
+/*
+ * 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;
+
+import java.util.HashSet;
+import java.util.Map;
+import javax.cache.processor.EntryProcessorResult;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.cache.CacheAtomicityMode;
+import org.apache.ignite.cache.CacheEntryProcessor;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.DeploymentMode;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.configuration.NearCacheConfiguration;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
+import static org.apache.ignite.cache.CacheMode.PARTITIONED;
+import static org.apache.ignite.cache.CacheRebalanceMode.SYNC;
+import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
+
+/**
+ * Cache EntryProcessor + Deployment.
+ */
+public class GridCacheAtomicEntryProcessorDeploymentSelfTest extends GridCommonAbstractTest {
+ /** IP finder. */
+ private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
+
+ /** Entry processor */
+ protected static String TEST_ENT_PROCESSOR = "org.apache.ignite.tests.p2p.CacheDeploymentEntryProcessor";
+
+ /** Test value. */
+ protected static String TEST_VALUE = "org.apache.ignite.tests.p2p.CacheDeploymentTestValue";
+
+ /** */
+ private DeploymentMode depMode;
+
+ /** */
+ private boolean cliendMode;
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ if (cliendMode)
+ cfg.setClientMode(cliendMode);
+
+ cfg.setDeploymentMode(depMode);
+
+ cfg.setCacheConfiguration(cacheConfiguration());
+
+ TcpDiscoverySpi disco = new TcpDiscoverySpi();
+
+ disco.setIpFinder(IP_FINDER);
+
+ cfg.setDiscoverySpi(disco);
+
+ cfg.setConnectorConfiguration(null);
+
+ return cfg;
+ }
+
+ /**
+ * @return Cache configuration.
+ * @throws Exception In case of error.
+ */
+ protected CacheConfiguration cacheConfiguration() throws Exception {
+ CacheConfiguration cfg = defaultCacheConfiguration();
+
+ cfg.setCacheMode(PARTITIONED);
+ cfg.setWriteSynchronizationMode(FULL_SYNC);
+ cfg.setRebalanceMode(SYNC);
+ cfg.setAtomicityMode(atomicityMode());
+ cfg.setNearConfiguration(new NearCacheConfiguration());
+ cfg.setBackups(1);
+
+ return cfg;
+ }
+
+ protected CacheAtomicityMode atomicityMode() {
+ return ATOMIC;
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ public void testInvokeDeployment() throws Exception {
+ depMode = DeploymentMode.CONTINUOUS;
+
+ doTestInvoke();
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ public void testInvokeDeployment2() throws Exception {
+ depMode = DeploymentMode.SHARED;
+
+ doTestInvoke();
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ public void testInvokeAllDeployment() throws Exception {
+ depMode = DeploymentMode.CONTINUOUS;
+
+ doTestInvokeAll();
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ public void testInvokeAllDeployment2() throws Exception {
+ depMode = DeploymentMode.SHARED;
+
+ doTestInvokeAll();
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ private void doTestInvoke() throws Exception {
+ try {
+ cliendMode = false;
+ startGrid(0);
+
+ cliendMode = true;
+ startGrid(1);
+
+ ClassLoader ldr = getExternalClassLoader();
+
+ Class procCls = ldr.loadClass(TEST_ENT_PROCESSOR);
+ Class valCls = ldr.loadClass(TEST_VALUE);
+
+ assertTrue(grid(1).configuration().isClientMode());
+
+ IgniteCache cache = grid(1).cache(null);
+
+ cache.put("key", valCls.newInstance());
+
+ Boolean res = (Boolean)cache.invoke("key", (CacheEntryProcessor)procCls.newInstance());
+
+ assertTrue(res);
+ }
+ finally {
+ stopAllGrids();
+ }
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ private void doTestInvokeAll() throws Exception {
+ try {
+ cliendMode = false;
+ startGrid(0);
+
+ cliendMode = true;
+ startGrid(1);
+
+ ClassLoader ldr = getExternalClassLoader();
+
+ Class procCls = ldr.loadClass(TEST_ENT_PROCESSOR);
+ Class valCls = ldr.loadClass(TEST_VALUE);
+
+ assertTrue(grid(1).configuration().isClientMode());
+
+ IgniteCache cache = grid(1).cache(null);
+
+ HashSet keys = new HashSet();
+
+ for (int i = 0; i < 3; i++) {
+ String key = "key" + i;
+
+ cache.put(key, valCls.newInstance());
+
+ keys.add(key);
+ }
+
+ Map<String, EntryProcessorResult> res = (Map<String, EntryProcessorResult>)cache.invokeAll(keys,
+ (CacheEntryProcessor)procCls.newInstance());
+
+ assertEquals(3, res.size());
+
+ for (EntryProcessorResult result : res.values())
+ assertTrue((Boolean)result.get());
+ }
+ finally {
+ stopAllGrids();
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java
new file mode 100644
index 0000000..c03eb08
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java
@@ -0,0 +1,190 @@
+/*
+ * 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;
+
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.Ignition;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
+import org.apache.ignite.internal.util.IgniteUtils;
+import org.apache.ignite.internal.util.typedef.CO;
+import org.apache.ignite.plugin.extensions.communication.Message;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
+import static org.apache.ignite.cache.CacheMode.PARTITIONED;
+import static org.apache.ignite.cache.CacheRebalanceMode.SYNC;
+import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
+
+/**
+ * Cache + conditional deployment test.
+ */
+public class GridCacheConditionalDeploymentSelfTest extends GridCommonAbstractTest {
+ /** IP finder. */
+ private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
+
+ /**
+ *
+ */
+ static {
+ GridIoMessageFactory.registerCustom(TestMessage.DIRECT_TYPE, new CO<Message>() {
+ @Override public Message apply() {
+ return new TestMessage();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ cfg.setCacheConfiguration(cacheConfiguration());
+
+ TcpDiscoverySpi disco = new TcpDiscoverySpi();
+
+ disco.setIpFinder(IP_FINDER);
+
+ cfg.setDiscoverySpi(disco);
+
+ return cfg;
+ }
+
+ /**
+ * @return Cache configuration.
+ * @throws Exception In case of error.
+ */
+ protected CacheConfiguration cacheConfiguration() throws Exception {
+ CacheConfiguration cfg = defaultCacheConfiguration();
+
+ cfg.setCacheMode(PARTITIONED);
+ cfg.setWriteSynchronizationMode(FULL_SYNC);
+ cfg.setRebalanceMode(SYNC);
+ cfg.setAtomicityMode(TRANSACTIONAL);
+ cfg.setBackups(1);
+
+ return cfg;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void beforeTestsStarted() throws Exception {
+ Ignite ignite0 = startGrid(0);
+
+ startGrid(1);
+
+ ignite0.cache(null).put(1, new TestValue());
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void afterTestsStopped() throws Exception {
+ Ignition.stopAll(true);
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ public void testNoDeploymentInfo() throws Exception {
+ GridCacheIoManager ioMgr = cacheIoManager();
+
+ TestMessage msg = new TestMessage();
+
+ assertNull(msg.deployInfo());
+
+ msg.addDepInfo = false;
+
+ IgniteUtils.invoke(GridCacheIoManager.class, ioMgr, "onSend", msg, grid(1).cluster().localNode().id());
+
+ assertNull(msg.deployInfo());
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ public void testAddedDeploymentInfo() throws Exception {
+ GridCacheIoManager ioMgr = cacheIoManager();
+
+ TestMessage msg = new TestMessage();
+
+ assertNull(msg.deployInfo());
+
+ msg.addDepInfo = true;
+
+ IgniteUtils.invoke(GridCacheIoManager.class, ioMgr, "onSend", msg, grid(1).cluster().localNode().id());
+
+ assertNotNull(msg.deployInfo());
+ }
+
+ /**
+ * @throws Exception In case of error.
+ */
+ public void testAddedDeploymentInfo2() throws Exception {
+ GridCacheContext ctx = cacheContext();
+
+ assertTrue(ctx.deploymentEnabled());
+
+ GridCacheIoManager ioMgr = cacheIoManager();
+
+ TestMessage msg = new TestMessage();
+
+ assertNull(msg.deployInfo());
+
+ msg.addDepInfo = false;
+
+ IgniteUtils.invoke(GridCacheIoManager.class, ioMgr, "onSend", msg, grid(1).cluster().localNode().id());
+
+ assertNull(msg.deployInfo());
+ }
+
+ protected GridCacheContext cacheContext() {
+ return ((IgniteCacheProxy)grid(0).cache(null)).context();
+ }
+
+ protected GridCacheIoManager cacheIoManager() {
+ return grid(0).context().cache().context().io();
+ }
+
+ /**
+ * Test message class.
+ */
+ public static class TestMessage extends GridCacheMessage implements GridCacheDeployable {
+ /** */
+ public static final byte DIRECT_TYPE = (byte)302;
+
+ @Override public byte directType() {
+ return DIRECT_TYPE;
+ }
+
+ @Override public byte fieldsCount() {
+ return 3;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+ }
+
+ /** */
+ private static class TestValue {
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
index c51d72b..1adc3b4 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentOffHeapSelfTest.java
@@ -38,19 +38,4 @@ public class GridCacheDeploymentOffHeapSelfTest extends GridCacheDeploymentSelfT
return cacheCfg;
}
-
- /** {@inheritDoc} */
- @Override public void testDeployment() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-1618");
- }
-
- /** {@inheritDoc} */
- @Override public void testDeployment6() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-1618");
- }
-
- /** {@inheritDoc} */
- @Override public void testDeployment7() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-1618");
- }
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentSelfTest.java
index 5965852..e18520d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentSelfTest.java
@@ -48,28 +48,28 @@ public class GridCacheDeploymentSelfTest extends GridCommonAbstractTest {
private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
/** Name for grid without cache. */
- private static final String GRID_NAME = "grid-no-cache";
+ protected static final String GRID_NAME = "grid-no-cache";
/** First test task name. */
- private static final String TEST_TASK_1 = "org.apache.ignite.tests.p2p.CacheDeploymentTestTask1";
+ protected static final String TEST_TASK_1 = "org.apache.ignite.tests.p2p.CacheDeploymentTestTask1";
/** Second test task name. */
- private static final String TEST_TASK_2 = "org.apache.ignite.tests.p2p.CacheDeploymentTestTask2";
+ protected static final String TEST_TASK_2 = "org.apache.ignite.tests.p2p.CacheDeploymentTestTask2";
/** Third test task name. */
- private static final String TEST_TASK_3 = "org.apache.ignite.tests.p2p.CacheDeploymentTestTask3";
+ protected static final String TEST_TASK_3 = "org.apache.ignite.tests.p2p.CacheDeploymentTestTask3";
/** Test value 1. */
- private static final String TEST_KEY = "org.apache.ignite.tests.p2p.CacheDeploymentTestKey";
+ protected static final String TEST_KEY = "org.apache.ignite.tests.p2p.CacheDeploymentTestKey";
/** Test value 1. */
- private static final String TEST_VALUE_1 = "org.apache.ignite.tests.p2p.CacheDeploymentTestValue";
+ protected static final String TEST_VALUE_1 = "org.apache.ignite.tests.p2p.CacheDeploymentTestValue";
/** Test value 2. */
- private static final String TEST_VALUE_2 = "org.apache.ignite.tests.p2p.CacheDeploymentTestValue2";
+ protected static final String TEST_VALUE_2 = "org.apache.ignite.tests.p2p.CacheDeploymentTestValue2";
/** */
- private DeploymentMode depMode;
+ protected DeploymentMode depMode;
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
@@ -249,11 +249,11 @@ public class GridCacheDeploymentSelfTest extends GridCommonAbstractTest {
stopGrid(GRID_NAME);
- assert g1.cache(null).localSize(CachePeekMode.ALL) == 1;
- assert g1.cache(null).localSize(CachePeekMode.ALL) == 1;
+ assertEquals(1, g1.cache(null).localSize(CachePeekMode.ALL));
+ assertEquals(1, g1.cache(null).localSize(CachePeekMode.ALL));
- assert g2.cache(null).localSize(CachePeekMode.ALL) == 1;
- assert g2.cache(null).localSize(CachePeekMode.ALL) == 1;
+ assertEquals(1, g2.cache(null).localSize(CachePeekMode.ALL));
+ assertEquals(1, g2.cache(null).localSize(CachePeekMode.ALL));
startGrid(3);
}
@@ -436,4 +436,4 @@ public class GridCacheDeploymentSelfTest extends GridCommonAbstractTest {
throw new IllegalStateException("Unable to find matching key [start=" + start + ", primary=" + primary.id() +
", backup=" + backup.id() + ']');
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTransactionalEntryProcessorDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTransactionalEntryProcessorDeploymentSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTransactionalEntryProcessorDeploymentSelfTest.java
new file mode 100644
index 0000000..bf8cc7a
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTransactionalEntryProcessorDeploymentSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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;
+
+import org.apache.ignite.cache.CacheAtomicityMode;
+
+/**
+ * Cache EntryProcessor + Deployment for transactional cache.
+ */
+public class GridCacheTransactionalEntryProcessorDeploymentSelfTest extends
+ GridCacheAtomicEntryProcessorDeploymentSelfTest {
+ /** {@inheritDoc} */
+ @Override protected CacheAtomicityMode atomicityMode() {
+ return CacheAtomicityMode.TRANSACTIONAL;
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java
index 47dcdf1..9c97542 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/GridCacheMessageSelfTest.java
@@ -215,6 +215,11 @@ public class GridCacheMessageSelfTest extends GridCommonAbstractTest {
entries.add(entry);
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
/**
* @return COllection of test messages.
*/
@@ -305,6 +310,11 @@ public class GridCacheMessageSelfTest extends GridCommonAbstractTest {
this.body = body;
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
/**
* @return Body.
*/
@@ -423,6 +433,11 @@ public class GridCacheMessageSelfTest extends GridCommonAbstractTest {
this.body = body;
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
/**
* @return Body.
*/
@@ -553,4 +568,4 @@ public class GridCacheMessageSelfTest extends GridCommonAbstractTest {
return true;
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
index 0e5894d..7ee301c 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite.java
@@ -76,7 +76,7 @@ public class IgniteBasicTestSuite extends TestSuite {
suite.addTest(IgniteKernalSelfTestSuite.suite(ignoredTests));
suite.addTest(IgniteStartUpTestSuite.suite());
suite.addTest(IgniteExternalizableSelfTestSuite.suite());
- suite.addTest(IgniteP2PSelfTestSuite.suite());
+ suite.addTest(IgniteP2PSelfTestSuite.suite(ignoredTests));
suite.addTest(IgniteCacheP2pUnmarshallingErrorTestSuite.suite(ignoredTests));
suite.addTest(IgniteStreamSelfTestSuite.suite());
@@ -116,4 +116,4 @@ public class IgniteBasicTestSuite extends TestSuite {
return suite;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
index 1deb3bc..a4737c2 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
@@ -169,15 +169,15 @@ public class IgniteCacheTestSuite extends TestSuite {
suite.addTestSuite(IgnitePutAllUpdateNonPreloadedPartitionSelfTest.class);
// User's class loader tests.
- suite.addTestSuite(IgniteCacheAtomicExecutionContextTest.class);
- suite.addTestSuite(IgniteCachePartitionedExecutionContextTest.class);
- suite.addTestSuite(IgniteCacheReplicatedExecutionContextTest.class);
- suite.addTestSuite(IgniteCacheTxExecutionContextTest.class);
- suite.addTestSuite(IgniteCacheContinuousExecutionContextTest.class);
- suite.addTestSuite(IgniteCacheIsolatedExecutionContextTest.class);
- suite.addTestSuite(IgniteCacheP2PDisableExecutionContextTest.class);
- suite.addTestSuite(IgniteCachePrivateExecutionContextTest.class);
- suite.addTestSuite(IgniteCacheSharedExecutionContextTest.class);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCacheAtomicExecutionContextTest.class, ignoredTests);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCachePartitionedExecutionContextTest.class, ignoredTests);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCacheReplicatedExecutionContextTest.class, ignoredTests);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCacheTxExecutionContextTest.class, ignoredTests);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCacheContinuousExecutionContextTest.class, ignoredTests);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCacheIsolatedExecutionContextTest.class, ignoredTests);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCacheP2PDisableExecutionContextTest.class, ignoredTests);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCachePrivateExecutionContextTest.class, ignoredTests);
+ GridTestUtils.addTestIfNeeded(suite, IgniteCacheSharedExecutionContextTest.class, ignoredTests);
// Warmup closure tests.
suite.addTestSuite(IgniteWarmupClosureSelfTest.class);
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
index 02a7f7f..796c531 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
@@ -18,6 +18,8 @@
package org.apache.ignite.testsuites;
import junit.framework.TestSuite;
+import org.apache.ignite.internal.processors.cache.GridCacheAtomicEntryProcessorDeploymentSelfTest;
+import org.apache.ignite.internal.processors.cache.GridCacheConditionalDeploymentSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheDeploymentOffHeapSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheDeploymentSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheEntryVersionSelfTest;
@@ -25,6 +27,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheOrderedPreloadingSel
import org.apache.ignite.internal.processors.cache.GridCacheReferenceCleanupSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheReloadSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheReplicatedSynchronousCommitTest;
+import org.apache.ignite.internal.processors.cache.GridCacheTransactionalEntryProcessorDeploymentSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheValueBytesPreloadingSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheValueConsistencyTransactionalNearEnabledSelfTest;
import org.apache.ignite.internal.processors.cache.GridCacheValueConsistencyTransactionalSelfTest;
@@ -116,6 +119,9 @@ public class IgniteCacheTestSuite3 extends TestSuite {
suite.addTestSuite(GridCacheDeploymentSelfTest.class);
suite.addTestSuite(GridCacheDeploymentOffHeapSelfTest.class);
+ suite.addTestSuite(GridCacheConditionalDeploymentSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicEntryProcessorDeploymentSelfTest.class);
+ suite.addTestSuite(GridCacheTransactionalEntryProcessorDeploymentSelfTest.class);
suite.addTestSuite(GridCachePutArrayValueSelfTest.class);
suite.addTestSuite(GridCacheReplicatedUnswapAdvancedSelfTest.class);
@@ -183,4 +189,4 @@ public class IgniteCacheTestSuite3 extends TestSuite {
return suite;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteP2PSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteP2PSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteP2PSelfTestSuite.java
index ddf7d37..7bade98 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteP2PSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteP2PSelfTestSuite.java
@@ -17,6 +17,7 @@
package org.apache.ignite.testsuites;
+import java.util.Set;
import junit.framework.TestSuite;
import org.apache.ignite.internal.managers.deployment.GridDeploymentMessageCountSelfTest;
import org.apache.ignite.p2p.GridP2PClassLoadingSelfTest;
@@ -33,17 +34,26 @@ import org.apache.ignite.p2p.GridP2PRemoteClassLoadersSelfTest;
import org.apache.ignite.p2p.GridP2PSameClassLoaderSelfTest;
import org.apache.ignite.p2p.GridP2PTimeoutSelfTest;
import org.apache.ignite.p2p.GridP2PUndeploySelfTest;
+import org.apache.ignite.testframework.GridTestUtils;
/**
* P2P test suite.
*/
public class IgniteP2PSelfTestSuite extends TestSuite {
/**
+ * @return Suite.
+ * @throws Exception If failed.
+ */
+ public static TestSuite suite() throws Exception {
+ return suite(null);
+ }
+
+ /**
* @return P2P tests suite.
* @throws Exception If failed.
*/
@SuppressWarnings({"ProhibitedExceptionDeclared"})
- public static TestSuite suite() throws Exception {
+ public static TestSuite suite(Set<Class> ignoredTests) throws Exception {
TestSuite suite = new TestSuite("Ignite P2P Test Suite");
suite.addTest(new TestSuite(GridP2PDoubleDeploymentSelfTest.class));
@@ -60,8 +70,8 @@ public class IgniteP2PSelfTestSuite extends TestSuite {
suite.addTest(new TestSuite(GridP2PTimeoutSelfTest.class));
suite.addTest(new TestSuite(GridP2PMissedResourceCacheSizeSelfTest.class));
suite.addTest(new TestSuite(GridP2PContinuousDeploymentSelfTest.class));
- suite.addTest(new TestSuite(GridDeploymentMessageCountSelfTest.class));
+ GridTestUtils.addTestIfNeeded(suite, GridDeploymentMessageCountSelfTest.class, ignoredTests);
return suite;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/CacheDeploymentEntryProcessor.java
----------------------------------------------------------------------
diff --git a/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/CacheDeploymentEntryProcessor.java b/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/CacheDeploymentEntryProcessor.java
new file mode 100644
index 0000000..3d66fec
--- /dev/null
+++ b/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/CacheDeploymentEntryProcessor.java
@@ -0,0 +1,35 @@
+/*
+ * 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.tests.p2p;
+
+import javax.cache.processor.EntryProcessorException;
+import javax.cache.processor.MutableEntry;
+import org.apache.ignite.cache.CacheEntryProcessor;
+
+/**
+ * Entry processor for {@code GridCacheEntryProcessorDeploymentSelfTest}.
+ */
+public class CacheDeploymentEntryProcessor implements CacheEntryProcessor<String, CacheDeploymentTestValue, Boolean> {
+ /** {@inheritDoc} */
+ @Override public Boolean process(MutableEntry<String, CacheDeploymentTestValue> entry,
+ Object... arguments) throws EntryProcessorException {
+ CacheDeploymentTestValue val = entry.getValue();
+
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/CacheDeploymentPortableEntryProcessor.java
----------------------------------------------------------------------
diff --git a/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/CacheDeploymentPortableEntryProcessor.java b/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/CacheDeploymentPortableEntryProcessor.java
new file mode 100644
index 0000000..03d3efc
--- /dev/null
+++ b/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/CacheDeploymentPortableEntryProcessor.java
@@ -0,0 +1,35 @@
+/*
+ * 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.tests.p2p;
+
+import javax.cache.processor.EntryProcessorException;
+import javax.cache.processor.MutableEntry;
+import org.apache.ignite.cache.CacheEntryProcessor;
+
+/**
+ * Entry processor used by {@code GridCacheEntryProcessorDeploymentSelfTest}.
+ */
+public class CacheDeploymentPortableEntryProcessor implements CacheEntryProcessor<String, String, Boolean> {
+ /** {@inheritDoc} */
+ @Override public Boolean process(MutableEntry<String, String> entry, Object... arguments)
+ throws EntryProcessorException {
+ String val = entry.getKey();
+
+ return true;
+ }
+}
[3/3] ignite git commit: ignite-1272: support of custom class loaders
and conditional deployment info for portable marshaller and portable caches
Posted by dm...@apache.org.
ignite-1272: support of custom class loaders and conditional deployment info for portable marshaller and portable caches
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/df931bd0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/df931bd0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/df931bd0
Branch: refs/heads/master
Commit: df931bd09d0a18af839c8d122853111488c1a294
Parents: 18fb46e
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Oct 27 12:32:02 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Oct 27 12:32:08 2015 +0300
----------------------------------------------------------------------
.../internal/GridEventConsumeHandler.java | 19 +-
.../deployment/GridDeploymentLocalStore.java | 8 +-
.../GridDeploymentPerLoaderStore.java | 8 +-
.../GridDeploymentPerVersionStore.java | 8 +-
.../internal/portable/PortableContext.java | 91 +++++---
.../portable/api/PortableMarshaller.java | 5 +
.../processors/cache/CacheObjectContext.java | 17 +-
.../processors/cache/GridCacheContext.java | 10 +-
.../cache/GridCacheEvictionManager.java | 5 +-
.../cache/GridCacheEvictionRequest.java | 18 +-
.../cache/GridCacheEvictionResponse.java | 7 +-
.../processors/cache/GridCacheIoManager.java | 34 +--
.../processors/cache/GridCacheMessage.java | 72 +++++--
.../cache/GridCacheSharedContext.java | 3 +
.../processors/cache/GridCacheUtils.java | 20 +-
.../distributed/GridCacheTtlUpdateRequest.java | 7 +-
.../distributed/GridCacheTxRecoveryFuture.java | 9 +-
.../distributed/GridCacheTxRecoveryRequest.java | 8 +-
.../GridCacheTxRecoveryResponse.java | 10 +-
.../distributed/GridDistributedBaseMessage.java | 16 +-
.../distributed/GridDistributedLockRequest.java | 8 +-
.../GridDistributedLockResponse.java | 20 +-
.../GridDistributedTxFinishRequest.java | 6 +-
.../GridDistributedTxFinishResponse.java | 7 +-
.../GridDistributedTxPrepareRequest.java | 13 +-
.../GridDistributedTxPrepareResponse.java | 12 +-
.../GridDistributedTxRemoteAdapter.java | 5 +
.../GridDistributedUnlockRequest.java | 7 +-
.../dht/GridDhtAffinityAssignmentRequest.java | 7 +-
.../dht/GridDhtAffinityAssignmentResponse.java | 7 +-
.../distributed/dht/GridDhtCacheAdapter.java | 3 +-
.../distributed/dht/GridDhtLockFuture.java | 5 +-
.../distributed/dht/GridDhtLockRequest.java | 7 +-
.../distributed/dht/GridDhtLockResponse.java | 14 +-
.../dht/GridDhtTransactionalCacheAdapter.java | 22 +-
.../distributed/dht/GridDhtTxFinishFuture.java | 9 +-
.../distributed/dht/GridDhtTxFinishRequest.java | 7 +-
.../dht/GridDhtTxFinishResponse.java | 2 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 9 +-
.../dht/GridDhtTxPrepareRequest.java | 28 ++-
.../dht/GridDhtTxPrepareResponse.java | 13 +-
.../distributed/dht/GridDhtUnlockRequest.java | 7 +-
.../dht/GridPartitionedGetFuture.java | 3 +-
.../dht/atomic/GridDhtAtomicCache.java | 12 +-
.../GridDhtAtomicDeferredUpdateResponse.java | 12 +-
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 6 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 25 ++-
.../dht/atomic/GridDhtAtomicUpdateResponse.java | 11 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 12 +-
.../dht/atomic/GridNearAtomicUpdateRequest.java | 33 ++-
.../atomic/GridNearAtomicUpdateResponse.java | 11 +-
.../dht/colocated/GridDhtColocatedCache.java | 8 +-
.../colocated/GridDhtColocatedLockFuture.java | 3 +-
.../dht/preloader/GridDhtForceKeysFuture.java | 5 +-
.../dht/preloader/GridDhtForceKeysRequest.java | 35 ++-
.../dht/preloader/GridDhtForceKeysResponse.java | 11 +-
.../GridDhtPartitionDemandMessage.java | 5 +
.../GridDhtPartitionSupplyMessage.java | 9 +-
.../preloader/GridDhtPartitionSupplyPool.java | 10 +-
.../GridDhtPartitionsAbstractMessage.java | 7 +-
.../dht/preloader/GridDhtPreloader.java | 3 +-
.../distributed/near/GridNearGetFuture.java | 5 +-
.../distributed/near/GridNearGetRequest.java | 12 +-
.../distributed/near/GridNearGetResponse.java | 12 +-
.../distributed/near/GridNearLockFuture.java | 3 +-
.../distributed/near/GridNearLockRequest.java | 8 +-
.../distributed/near/GridNearLockResponse.java | 8 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 3 +-
.../GridNearPessimisticTxPrepareFuture.java | 3 +-
.../near/GridNearTransactionalCache.java | 8 +-
.../near/GridNearTxFinishFuture.java | 8 +-
.../near/GridNearTxFinishRequest.java | 7 +-
.../near/GridNearTxFinishResponse.java | 2 +-
.../near/GridNearTxPrepareRequest.java | 8 +-
.../near/GridNearTxPrepareResponse.java | 8 +-
.../distributed/near/GridNearUnlockRequest.java | 7 +-
.../portable/CacheObjectPortableContext.java | 6 +-
.../CacheObjectPortableProcessorImpl.java | 5 +-
.../query/GridCacheDistributedQueryFuture.java | 5 +-
.../query/GridCacheDistributedQueryManager.java | 25 ++-
.../cache/query/GridCacheQueryRequest.java | 46 ++--
.../cache/query/GridCacheQueryResponse.java | 29 ++-
.../continuous/CacheContinuousQueryHandler.java | 8 +-
.../cache/transactions/IgniteInternalTx.java | 8 +-
.../cache/transactions/IgniteTxAdapter.java | 5 +
.../cache/transactions/IgniteTxEntry.java | 8 +-
.../cache/transactions/IgniteTxHandler.java | 16 +-
.../transactions/IgniteTxLocalAdapter.java | 11 +
.../IgniteCacheObjectProcessorImpl.java | 7 +-
.../ignite/marshaller/AbstractMarshaller.java | 12 +-
.../ignite/marshaller/jdk/JdkMarshaller.java | 7 +-
.../optimized/OptimizedMarshaller.java | 4 +-
...eAtomicEntryProcessorDeploymentSelfTest.java | 211 +++++++++++++++++++
.../GridCacheConditionalDeploymentSelfTest.java | 190 +++++++++++++++++
.../GridCacheDeploymentOffHeapSelfTest.java | 17 +-
.../cache/GridCacheDeploymentSelfTest.java | 26 +--
...ctionalEntryProcessorDeploymentSelfTest.java | 31 +++
.../communication/GridCacheMessageSelfTest.java | 17 +-
.../ignite/testsuites/IgniteBasicTestSuite.java | 4 +-
.../ignite/testsuites/IgniteCacheTestSuite.java | 18 +-
.../testsuites/IgniteCacheTestSuite3.java | 8 +-
.../testsuites/IgniteP2PSelfTestSuite.java | 16 +-
.../p2p/CacheDeploymentEntryProcessor.java | 35 +++
.../CacheDeploymentPortableEntryProcessor.java | 35 +++
104 files changed, 1332 insertions(+), 394 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
index 599d301..b4ce4ab 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
@@ -35,6 +35,7 @@ import org.apache.ignite.internal.managers.deployment.GridDeploymentInfo;
import org.apache.ignite.internal.managers.deployment.GridDeploymentInfoBean;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
import org.apache.ignite.internal.processors.cache.GridCacheAdapter;
+import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
import org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager;
import org.apache.ignite.internal.processors.continuous.GridContinuousHandler;
@@ -197,16 +198,18 @@ class GridEventConsumeHandler implements GridContinuousHandler {
if (node == null)
continue;
- if (ctx.config().isPeerClassLoadingEnabled()
- && ctx.discovery().cacheNode(node, cacheName)) {
- wrapper.p2pMarshal(ctx.config().getMarshaller());
+ if (ctx.config().isPeerClassLoadingEnabled()) {
+ GridCacheContext cctx =
+ ctx.cache().internalCache(cacheName).context();
- wrapper.cacheName = cacheName;
+ if (cctx.deploymentEnabled() &&
+ ctx.discovery().cacheNode(node, cacheName)) {
+ wrapper.p2pMarshal(ctx.config().getMarshaller());
- GridCacheDeploymentManager depMgr = ctx.cache()
- .internalCache(cacheName).context().deploy();
+ wrapper.cacheName = cacheName;
- depMgr.prepare(wrapper);
+ cctx.deploy().prepare(wrapper);
+ }
}
}
@@ -519,4 +522,4 @@ class GridEventConsumeHandler implements GridContinuousHandler {
evt = (Event)in.readObject();
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java
index 420eea8..d095efb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentLocalStore.java
@@ -39,7 +39,7 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.marshaller.optimized.OptimizedMarshaller;
+import org.apache.ignite.marshaller.AbstractMarshaller;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.deployment.DeploymentListener;
import org.apache.ignite.spi.deployment.DeploymentResource;
@@ -541,8 +541,8 @@ class GridDeploymentLocalStore extends GridDeploymentStoreAdapter {
ctx.resource().onUndeployed(dep);
// Clear optimized marshaller's cache.
- if (ctx.config().getMarshaller() instanceof OptimizedMarshaller)
- ((OptimizedMarshaller)ctx.config().getMarshaller()).onUndeploy(ldr);
+ if (ctx.config().getMarshaller() instanceof AbstractMarshaller)
+ ((AbstractMarshaller)ctx.config().getMarshaller()).onUndeploy(ldr);
clearSerializationCaches();
@@ -572,4 +572,4 @@ class GridDeploymentLocalStore extends GridDeploymentStoreAdapter {
undeploy(ldr);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerLoaderStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerLoaderStore.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerLoaderStore.java
index 6ca74eb..4ba308c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerLoaderStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerLoaderStore.java
@@ -39,7 +39,7 @@ import org.apache.ignite.internal.util.GridClassLoaderCache;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.marshaller.optimized.OptimizedMarshaller;
+import org.apache.ignite.marshaller.AbstractMarshaller;
import org.apache.ignite.spi.deployment.DeploymentSpi;
import static org.apache.ignite.events.EventType.EVT_CLASS_DEPLOYED;
@@ -511,8 +511,8 @@ public class GridDeploymentPerLoaderStore extends GridDeploymentStoreAdapter {
ctx.cache().onUndeployed(ldr);
// Clear optimized marshaller's cache.
- if (ctx.config().getMarshaller() instanceof OptimizedMarshaller)
- ((OptimizedMarshaller)ctx.config().getMarshaller()).onUndeploy(ldr);
+ if (ctx.config().getMarshaller() instanceof AbstractMarshaller)
+ ((AbstractMarshaller)ctx.config().getMarshaller()).onUndeploy(ldr);
clearSerializationCaches();
@@ -527,4 +527,4 @@ public class GridDeploymentPerLoaderStore extends GridDeploymentStoreAdapter {
return S.toString(IsolatedDeployment.class, this, super.toString());
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
index 6f9e968..fabbcb2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
@@ -46,7 +46,7 @@ import org.apache.ignite.internal.util.typedef.internal.LT;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
-import org.apache.ignite.marshaller.optimized.OptimizedMarshaller;
+import org.apache.ignite.marshaller.AbstractMarshaller;
import org.apache.ignite.spi.deployment.DeploymentSpi;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
@@ -1281,8 +1281,8 @@ public class GridDeploymentPerVersionStore extends GridDeploymentStoreAdapter {
ctx.cache().onUndeployed(ldr);
// Clear optimized marshaller's cache.
- if (ctx.config().getMarshaller() instanceof OptimizedMarshaller)
- ((OptimizedMarshaller)ctx.config().getMarshaller()).onUndeploy(ldr);
+ if (ctx.config().getMarshaller() instanceof AbstractMarshaller)
+ ((AbstractMarshaller)ctx.config().getMarshaller()).onUndeploy(ldr);
clearSerializationCaches();
@@ -1297,4 +1297,4 @@ public class GridDeploymentPerVersionStore extends GridDeploymentStoreAdapter {
return S.toString(SharedDeployment.class, this, "super", super.toString());
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
index e9cccf0..acd6a56 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
@@ -52,24 +52,25 @@ import java.util.jar.JarFile;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.IgniteKernal;
import org.apache.ignite.internal.IgnitionEx;
+import org.apache.ignite.internal.portable.api.PortableException;
+import org.apache.ignite.internal.portable.api.PortableIdMapper;
+import org.apache.ignite.internal.portable.api.PortableInvalidClassException;
+import org.apache.ignite.internal.portable.api.PortableMarshaller;
+import org.apache.ignite.internal.portable.api.PortableMetadata;
+import org.apache.ignite.internal.portable.api.PortableSerializer;
+import org.apache.ignite.internal.portable.api.PortableTypeConfiguration;
import org.apache.ignite.internal.processors.cache.portable.CacheObjectPortableProcessorImpl;
+import org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetConfiguration;
+import org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetPortableConfiguration;
+import org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetPortableTypeConfiguration;
import org.apache.ignite.internal.util.GridConcurrentHashSet;
+import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.util.lang.GridMapEntry;
import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.marshaller.MarshallerContext;
import org.apache.ignite.marshaller.optimized.OptimizedMarshaller;
-import org.apache.ignite.internal.portable.api.PortableMarshaller;
-import org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetConfiguration;
-import org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetPortableConfiguration;
-import org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetPortableTypeConfiguration;
-import org.apache.ignite.internal.portable.api.PortableException;
-import org.apache.ignite.internal.portable.api.PortableIdMapper;
-import org.apache.ignite.internal.portable.api.PortableInvalidClassException;
-import org.apache.ignite.internal.portable.api.PortableMetadata;
-import org.apache.ignite.internal.portable.api.PortableSerializer;
-import org.apache.ignite.internal.portable.api.PortableTypeConfiguration;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
@@ -81,6 +82,9 @@ public class PortableContext implements Externalizable {
private static final long serialVersionUID = 0L;
/** */
+ private static final ClassLoader dfltLdr = U.gridClassLoader();
+
+ /** */
static final PortableIdMapper DFLT_ID_MAPPER = new IdMapperWrapper(null);
/** */
@@ -108,8 +112,8 @@ public class PortableContext implements Externalizable {
/** */
private final ConcurrentMap<Class<?>, PortableClassDescriptor> descByCls = new ConcurrentHashMap8<>();
- /** */
- private final ConcurrentMap<Integer, PortableClassDescriptor> userTypes = new ConcurrentHashMap8<>(0);
+ /** Holds classes loaded by default class loader only. */
+ private final ConcurrentMap<Integer, PortableClassDescriptor> userTypes = new ConcurrentHashMap8<>();
/** */
private final Map<Integer, PortableClassDescriptor> predefinedTypes = new HashMap<>();
@@ -124,7 +128,7 @@ public class PortableContext implements Externalizable {
private final Map<Class<? extends Map>, Byte> mapTypes = new HashMap<>();
/** */
- private final Map<Integer, PortableIdMapper> mappers = new ConcurrentHashMap8<>(0);
+ private final ConcurrentMap<Integer, PortableIdMapper> mappers = new ConcurrentHashMap8<>(0);
/** */
private final Map<String, PortableIdMapper> typeMappers = new ConcurrentHashMap8<>(0);
@@ -454,16 +458,18 @@ public class PortableContext implements Externalizable {
public PortableClassDescriptor descriptorForTypeId(boolean userType, int typeId, ClassLoader ldr) {
assert typeId != GridPortableMarshaller.UNREGISTERED_TYPE_ID;
- //TODO: IGNITE-1358 (uncomment when fixed)
- //PortableClassDescriptor desc = userType ? userTypes.get(typeId) : predefinedTypes.get(typeId);
-
- // As a workaround for IGNITE-1358 we always check the predefined map before.
+ //TODO: As a workaround for IGNITE-1358 we always check the predefined map before without checking 'userType'
PortableClassDescriptor desc = predefinedTypes.get(typeId);
if (desc != null)
return desc;
- if (userType) {
+ if (ldr == null)
+ ldr = dfltLdr;
+
+ // If the type hasn't been loaded by default class loader then we mustn't return the descriptor from here
+ // giving a chance to a custom class loader to reload type's class.
+ if (userType && ldr.equals(dfltLdr)) {
desc = userTypes.get(typeId);
if (desc != null)
@@ -478,9 +484,17 @@ public class PortableContext implements Externalizable {
desc = descByCls.get(cls);
}
catch (ClassNotFoundException e) {
+ // Class might have been loaded by default class loader.
+ if (userType && !ldr.equals(dfltLdr) && (desc = descriptorForTypeId(true, typeId, dfltLdr)) != null)
+ return desc;
+
throw new PortableInvalidClassException(e);
}
catch (IgniteCheckedException e) {
+ // Class might have been loaded by default class loader.
+ if (userType && !ldr.equals(dfltLdr) && (desc = descriptorForTypeId(true, typeId, dfltLdr)) != null)
+ return desc;
+
throw new PortableException("Failed resolve class for ID: " + typeId, e);
}
@@ -541,7 +555,7 @@ public class PortableContext implements Externalizable {
String typeName = typeName(cls.getName());
- PortableIdMapper idMapper = idMapper(typeName);
+ PortableIdMapper idMapper = userTypeIdMapper(typeName);
int typeId = idMapper.typeId(typeName);
@@ -566,10 +580,15 @@ public class PortableContext implements Externalizable {
false /* predefined */
);
- // perform put() instead of putIfAbsent() because "registered" flag may have been changed.
- userTypes.put(typeId, desc);
+ // perform put() instead of putIfAbsent() because "registered" flag might have been changed or class loader
+ // might have reloaded described class.
+ if (IgniteUtils.detectClassLoader(cls).equals(dfltLdr))
+ userTypes.put(typeId, desc);
+
descByCls.put(cls, desc);
+ mappers.putIfAbsent(typeId, idMapper);
+
// TODO uncomment for https://issues.apache.org/jira/browse/IGNITE-1377
// if (registerMetadata && isMetaDataEnabled(typeId))
// metaHnd.addMeta(typeId, new PortableMetaDataImpl(typeName, desc.fieldsMeta(), null));
@@ -619,7 +638,7 @@ public class PortableContext implements Externalizable {
if (marshCtx.isSystemType(typeName))
return typeName.hashCode();
- return idMapper(shortTypeName).typeId(shortTypeName);
+ return userTypeIdMapper(shortTypeName).typeId(shortTypeName);
}
/**
@@ -628,20 +647,20 @@ public class PortableContext implements Externalizable {
* @return Field ID.
*/
public int fieldId(int typeId, String fieldName) {
- return idMapper(typeId).fieldId(typeId, fieldName);
+ return userTypeIdMapper(typeId).fieldId(typeId, fieldName);
}
/**
* @param typeId Type ID.
* @return Instance of ID mapper.
*/
- public PortableIdMapper idMapper(int typeId) {
+ public PortableIdMapper userTypeIdMapper(int typeId) {
PortableIdMapper idMapper = mappers.get(typeId);
if (idMapper != null)
return idMapper;
- if (userTypes.containsKey(typeId) || predefinedTypes.containsKey(typeId))
+ if (predefinedTypes.containsKey(typeId))
return DFLT_ID_MAPPER;
return BASIC_CLS_ID_MAPPER;
@@ -651,7 +670,7 @@ public class PortableContext implements Externalizable {
* @param typeName Type name.
* @return Instance of ID mapper.
*/
- private PortableIdMapper idMapper(String typeName) {
+ private PortableIdMapper userTypeIdMapper(String typeName) {
PortableIdMapper idMapper = typeMappers.get(typeName);
return idMapper != null ? idMapper : DFLT_ID_MAPPER;
@@ -784,7 +803,9 @@ public class PortableContext implements Externalizable {
fieldsMeta = desc.fieldsMeta();
- userTypes.put(id, desc);
+ if (IgniteUtils.detectClassLoader(cls).equals(dfltLdr))
+ userTypes.put(id, desc);
+
descByCls.put(cls, desc);
}
@@ -934,6 +955,22 @@ public class PortableContext implements Externalizable {
}
/**
+ * Undeployment callback invoked when class loader is being undeployed.
+ *
+ * Some marshallers may want to clean their internal state that uses the undeployed class loader somehow.
+ *
+ * @param ldr Class loader being undeployed.
+ */
+ public void onUndeploy(ClassLoader ldr) {
+ for (Class<?> cls : descByCls.keySet()) {
+ if (ldr.equals(cls.getClassLoader()))
+ descByCls.remove(cls);
+ }
+
+ U.clearClassCache(ldr);
+ }
+
+ /**
*/
private static class IdMapperWrapper implements PortableIdMapper {
/** */
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java
index 3dfbdf0..24a39a7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/api/PortableMarshaller.java
@@ -349,4 +349,9 @@ public class PortableMarshaller extends AbstractMarshaller {
throw new PortableException("Failed to unmarshal the object from InputStream", e);
}
}
+
+ /** {@inheritDoc} */
+ @Override public void onUndeploy(ClassLoader ldr) {
+ impl.context().onUndeploy(ldr);
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectContext.java
index 7d7cbec..44b91a5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheObjectContext.java
@@ -44,21 +44,27 @@ public class CacheObjectContext {
/** */
private boolean p2pEnabled;
+ /** */
+ private boolean addDepInfo;
+
/**
* @param kernalCtx Kernal context.
* @param dfltAffMapper Default affinity mapper.
* @param cpyOnGet Copy on get flag.
* @param storeVal {@code True} if should store unmarshalled value in cache.
+ * @param addDepInfo {@code true} if deployment info should be associated with the objects of this cache.
*/
public CacheObjectContext(GridKernalContext kernalCtx,
AffinityKeyMapper dfltAffMapper,
boolean cpyOnGet,
- boolean storeVal) {
+ boolean storeVal,
+ boolean addDepInfo) {
this.kernalCtx = kernalCtx;
this.p2pEnabled = kernalCtx.config().isPeerClassLoadingEnabled();
this.dfltAffMapper = dfltAffMapper;
this.cpyOnGet = cpyOnGet;
this.storeVal = storeVal;
+ this.addDepInfo = addDepInfo;
proc = kernalCtx.cacheObjects();
}
@@ -71,6 +77,13 @@ public class CacheObjectContext {
}
/**
+ * @return {@code True} if deployment info should be associated with the objects of this cache.
+ */
+ public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /**
* @return Copy on get flag.
*/
public boolean copyOnGet() {
@@ -126,4 +139,4 @@ public class CacheObjectContext {
public Collection<Object> unwrapPortablesIfNeeded(Collection<Object> col, boolean keepPortable) {
return col;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index 3a1cee6..1f4852c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -236,6 +236,9 @@ public class GridCacheContext<K, V> implements Externalizable {
/** Updates allowed flag. */
private boolean updatesAllowed;
+ /** Deployment enabled flag for this specific cache */
+ private boolean depEnabled;
+
/**
* Empty constructor required for {@link Externalizable}.
*/
@@ -312,6 +315,7 @@ public class GridCacheContext<K, V> implements Externalizable {
this.cacheType = cacheType;
this.affNode = affNode;
this.updatesAllowed = updatesAllowed;
+ this.depEnabled = ctx.deploy().enabled() && !cacheObjects().isPortableEnabled(cacheCfg);
/*
* Managers in starting order!
@@ -965,7 +969,7 @@ public class GridCacheContext<K, V> implements Externalizable {
* @return Cache transaction manager.
*/
public IgniteTxManager tm() {
- return sharedCtx.tm();
+ return sharedCtx.tm();
}
/**
@@ -1408,10 +1412,10 @@ public class GridCacheContext<K, V> implements Externalizable {
}
/**
- * @return {@code True} if deployment enabled.
+ * @return {@code True} if deployment is enabled.
*/
public boolean deploymentEnabled() {
- return ctx.deploy().enabled();
+ return depEnabled;
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
index 1c34c76..9a89fee 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
@@ -1742,7 +1742,8 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter {
// There are remote participants.
for (ClusterNode node : nodes) {
GridCacheEvictionRequest req = F.addIfAbsent(reqMap, node.id(),
- new GridCacheEvictionRequest(cctx.cacheId(), id, evictInfos.size(), topVer));
+ new GridCacheEvictionRequest(cctx.cacheId(), id, evictInfos.size(), topVer,
+ cctx.deploymentEnabled()));
assert req != null;
@@ -2106,4 +2107,4 @@ public class GridCacheEvictionManager extends GridCacheManagerAdapter {
return S.toString(EvictionFuture.class, this);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionRequest.java
index fa0359c..09652a9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionRequest.java
@@ -62,14 +62,17 @@ public class GridCacheEvictionRequest extends GridCacheMessage implements GridCa
* @param futId Future id.
* @param size Size.
* @param topVer Topology version.
+ * @param addDepInfo Deployment info flag.
*/
- GridCacheEvictionRequest(int cacheId, long futId, int size, @NotNull AffinityTopologyVersion topVer) {
+ GridCacheEvictionRequest(int cacheId, long futId, int size, @NotNull AffinityTopologyVersion topVer,
+ boolean addDepInfo) {
assert futId > 0;
assert size > 0;
assert topVer.topologyVersion() > 0;
this.cacheId = cacheId;
this.futId = futId;
+ this.addDepInfo = addDepInfo;
entries = new ArrayList<>(size);
@@ -82,15 +85,13 @@ public class GridCacheEvictionRequest extends GridCacheMessage implements GridCa
super.prepareMarshal(ctx);
if (entries != null) {
- boolean depEnabled = ctx.deploymentEnabled();
-
GridCacheContext cctx = ctx.cacheContext(cacheId);
for (CacheEvictionEntry e : entries) {
e.prepareMarshal(cctx);
- if (depEnabled)
- prepareObject(e.key().value(cctx.cacheObjectContext(), false), ctx);
+ if (addDepInfo)
+ prepareObject(e.key().value(cctx.cacheObjectContext(), false), cctx);
}
}
}
@@ -107,6 +108,11 @@ public class GridCacheEvictionRequest extends GridCacheMessage implements GridCa
}
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
/**
* @return Future id.
*/
@@ -239,4 +245,4 @@ public class GridCacheEvictionRequest extends GridCacheMessage implements GridCa
@Override public String toString() {
return S.toString(GridCacheEvictionRequest.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionResponse.java
index aa3911b..ebaee6a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionResponse.java
@@ -88,6 +88,11 @@ public class GridCacheEvictionResponse extends GridCacheMessage {
finishUnmarshalCacheObjects(rejectedKeys, ctx.cacheContext(cacheId), ldr);
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
/**
* @return Future ID.
*/
@@ -217,4 +222,4 @@ public class GridCacheEvictionResponse extends GridCacheMessage {
@Override public String toString() {
return S.toString(GridCacheEvictionResponse.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index 476a96c..ec34f41 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -284,6 +284,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
/**
* Sends response on failed message.
+ *
* @param nodeId node id.
* @param res response.
* @param cctx shared context.
@@ -302,6 +303,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
/**
* Processes failed messages.
+ *
* @param nodeId niode id.
* @param msg message.
* @throws IgniteCheckedException If failed.
@@ -332,7 +334,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
req.version(),
req.futureId(),
req.miniId(),
- 0);
+ 0,
+ ctx.deploymentEnabled());
sendResponseOnFailedMessage(nodeId, res, cctx, ctx.ioPolicy());
}
@@ -345,7 +348,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
GridDhtTxPrepareResponse res = new GridDhtTxPrepareResponse(
req.version(),
req.futureId(),
- req.miniId());
+ req.miniId(),
+ req.deployInfo() != null);
res.error(req.classError());
@@ -359,7 +363,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
GridDhtAtomicUpdateResponse res = new GridDhtAtomicUpdateResponse(
ctx.cacheId(),
- req.futureVersion());
+ req.futureVersion(),
+ ctx.deploymentEnabled());
res.onError(req.classError());
@@ -374,7 +379,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(
ctx.cacheId(),
nodeId,
- req.futureVersion());
+ req.futureVersion(),
+ ctx.deploymentEnabled());
res.error(req.classError());
@@ -389,7 +395,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
GridDhtForceKeysResponse res = new GridDhtForceKeysResponse(
ctx.cacheId(),
req.futureId(),
- req.miniId()
+ req.miniId(),
+ ctx.deploymentEnabled()
);
res.error(req.classError());
@@ -414,7 +421,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
ctx.cacheId(),
req.futureId(),
req.miniId(),
- req.version());
+ req.version(),
+ req.deployInfo() != null);
res.error(req.classError());
@@ -456,7 +464,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
false,
0,
req.classError(),
- null);
+ null,
+ ctx.deploymentEnabled());
sendResponseOnFailedMessage(nodeId, res, cctx, ctx.ioPolicy());
}
@@ -474,7 +483,8 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
req.version(),
null,
null,
- null);
+ null,
+ req.deployInfo() != null);
res.error(req.classError());
@@ -540,7 +550,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
if (destNodeId == null || !cctx.localNodeId().equals(destNodeId)) {
msg.prepareMarshal(cctx);
- if (depEnabled && msg instanceof GridCacheDeployable)
+ if (msg instanceof GridCacheDeployable && msg.addDeploymentInfo())
cctx.deploy().prepare((GridCacheDeployable)msg);
}
@@ -766,8 +776,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
}
/**
- * @return ID that auto-grows based on local counter and counters received
- * from other nodes.
+ * @return ID that auto-grows based on local counter and counters received from other nodes.
*/
public long nextIoId() {
return idGen.incrementAndGet();
@@ -784,8 +793,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
public void sendNoRetry(ClusterNode node,
GridCacheMessage msg,
byte plc)
- throws IgniteCheckedException
- {
+ throws IgniteCheckedException {
assert node != null;
assert msg != null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
index 4b700e0..bdd2118 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
+import javax.cache.processor.EntryProcessor;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.managers.deployment.GridDeployment;
@@ -30,6 +31,7 @@ import org.apache.ignite.internal.managers.deployment.GridDeploymentInfoBean;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -67,6 +69,14 @@ public abstract class GridCacheMessage implements Message {
/** */
@GridDirectTransient
+ protected boolean addDepInfo;
+
+ /** Force addition of deployment info regardless of {@code addDepInfo} flag value.*/
+ @GridDirectTransient
+ protected boolean forceAddDepInfo;
+
+ /** */
+ @GridDirectTransient
private IgniteCheckedException err;
/** */
@@ -174,11 +184,20 @@ public abstract class GridCacheMessage implements Message {
}
/**
+ * Deployment enabled flag indicates whether deployment info has to be added to this message.
+ *
+ * @return {@code true} or if deployment info must be added to the the message, {@code false} otherwise.
+ */
+ public abstract boolean addDeploymentInfo();
+
+ /**
* @param o Object to prepare for marshalling.
* @param ctx Context.
* @throws IgniteCheckedException If failed.
*/
- protected final void prepareObject(@Nullable Object o, GridCacheSharedContext ctx) throws IgniteCheckedException {
+ protected final void prepareObject(@Nullable Object o, GridCacheContext ctx) throws IgniteCheckedException {
+ assert addDepInfo || forceAddDepInfo;
+
if (!skipPrepare && o != null) {
GridDeploymentInfo d = ctx.deploy().globalDeploymentInfo();
@@ -259,16 +278,16 @@ public abstract class GridCacheMessage implements Message {
if (info != null) {
info.marshal(ctx);
- if (ctx.deploymentEnabled()) {
+ if (addDepInfo) {
if (info.key() != null)
- prepareObject(info.key().value(ctx.cacheObjectContext(), false), ctx.shared());
+ prepareObject(info.key().value(ctx.cacheObjectContext(), false), ctx);
CacheObject val = info.value();
if (val != null) {
val.finishUnmarshal(ctx.cacheObjectContext(), ctx.deploy().globalLoader());
- prepareObject(CU.value(val, ctx, false), ctx.shared());
+ prepareObject(CU.value(val, ctx, false), ctx);
}
}
}
@@ -332,18 +351,31 @@ public abstract class GridCacheMessage implements Message {
if (txEntries != null) {
boolean transferExpiry = transferExpiryPolicy();
+ boolean p2pEnabled = ctx.deploymentEnabled();
for (IgniteTxEntry e : txEntries) {
e.marshal(ctx, transferExpiry);
- if (ctx.deploymentEnabled()) {
- CacheObjectContext cctx =ctx.cacheContext(e.cacheId()).cacheObjectContext();
+ GridCacheContext cctx = e.context();
+ if (addDepInfo) {
if (e.key() != null)
- prepareObject(e.key().value(cctx, false), ctx);
+ prepareObject(e.key().value(cctx.cacheObjectContext(), false), cctx);
if (e.value() != null)
- prepareObject(e.value().value(cctx, false), ctx);
+ prepareObject(e.value().value(cctx.cacheObjectContext(), false), cctx);
+
+ if (e.entryProcessors() != null) {
+ for (T2<EntryProcessor<Object, Object, Object>, Object[]> entProc : e.entryProcessors())
+ prepareObject(entProc.get1(), cctx);
+ }
+ }
+ else if (p2pEnabled && e.entryProcessors() != null) {
+ if (!forceAddDepInfo)
+ forceAddDepInfo = true;
+
+ for (T2<EntryProcessor<Object, Object, Object>, Object[]> entProc : e.entryProcessors())
+ prepareObject(entProc.get1(), cctx);
}
}
}
@@ -381,8 +413,8 @@ public abstract class GridCacheMessage implements Message {
* @return Marshalled collection.
* @throws IgniteCheckedException If failed.
*/
- @Nullable protected final byte[][] marshalInvokeArguments(@Nullable Object[] args,
- GridCacheSharedContext ctx) throws IgniteCheckedException {
+ @Nullable protected final byte[][] marshalInvokeArguments(@Nullable Object[] args, GridCacheContext ctx)
+ throws IgniteCheckedException {
assert ctx != null;
if (args == null || args.length == 0)
@@ -393,7 +425,7 @@ public abstract class GridCacheMessage implements Message {
for (int i = 0; i < args.length; i++) {
Object arg = args[i];
- if (ctx.deploymentEnabled())
+ if (addDepInfo)
prepareObject(arg, ctx);
argsBytes[i] = arg == null ? null : CU.marshal(ctx, arg);
@@ -436,7 +468,7 @@ public abstract class GridCacheMessage implements Message {
* @throws IgniteCheckedException If failed.
*/
@Nullable protected List<byte[]> marshalCollection(@Nullable Collection<?> col,
- GridCacheSharedContext ctx) throws IgniteCheckedException {
+ GridCacheContext ctx) throws IgniteCheckedException {
assert ctx != null;
if (col == null)
@@ -445,7 +477,7 @@ public abstract class GridCacheMessage implements Message {
List<byte[]> byteCol = new ArrayList<>(col.size());
for (Object o : col) {
- if (ctx.deploymentEnabled())
+ if (addDepInfo)
prepareObject(o, ctx);
byteCol.add(o == null ? null : CU.marshal(ctx, o));
@@ -467,16 +499,14 @@ public abstract class GridCacheMessage implements Message {
int size = col.size();
- boolean depEnabled = ctx.deploymentEnabled();
-
for (int i = 0 ; i < size; i++) {
CacheObject obj = col.get(i);
if (obj != null) {
obj.prepareMarshal(ctx.cacheObjectContext());
- if (depEnabled)
- prepareObject(obj.value(ctx.cacheObjectContext(), false), ctx.shared());
+ if (addDepInfo)
+ prepareObject(obj.value(ctx.cacheObjectContext(), false), ctx);
}
}
}
@@ -491,14 +521,12 @@ public abstract class GridCacheMessage implements Message {
if (col == null)
return;
- boolean depEnabled = ctx.deploymentEnabled();
-
for (CacheObject obj : col) {
if (obj != null) {
obj.prepareMarshal(ctx.cacheObjectContext());
- if (depEnabled)
- prepareObject(obj.value(ctx.cacheObjectContext(), false), ctx.shared());
+ if (addDepInfo)
+ prepareObject(obj.value(ctx.cacheObjectContext(), false), ctx);
}
}
}
@@ -649,4 +677,4 @@ public abstract class GridCacheMessage implements Message {
@Override public String toString() {
return S.toString(GridCacheMessage.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
index c5d4162..b37742c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
@@ -558,6 +558,9 @@ public class GridCacheSharedContext<K, V> {
if (store.isWriteBehind() != activeStore.isWriteBehind())
return "caches with different write-behind setting can't be enlisted in one transaction";
+ if (activeCacheCtx.deploymentEnabled() != cacheCtx.deploymentEnabled())
+ return "caches with enabled and disabled deployment modes can't be enlisted in one transaction";
+
// If local and write-behind validations passed, this must be true.
assert store.isWriteToStoreFromDht() == activeStore.isWriteToStoreFromDht();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index 7854c93..ee1f4a1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -925,11 +925,25 @@ public class GridCacheUtils {
* @throws IgniteCheckedException If marshalling failed.
*/
@SuppressWarnings("unchecked")
- public static byte[] marshal(GridCacheSharedContext ctx, Object obj)
+ public static byte[] marshal(GridCacheContext ctx, Object obj)
throws IgniteCheckedException {
assert ctx != null;
- if (ctx.gridDeploy().enabled()) {
+ return marshal(ctx.shared(), ctx.deploymentEnabled(), obj);
+ }
+
+ /**
+ * @param ctx Cache context.
+ * @param depEnabled deployment enabled flag.
+ * @param obj Object to marshal.
+ * @return Buffer that contains obtained byte array.
+ * @throws IgniteCheckedException If marshalling failed.
+ */
+ public static byte[] marshal(GridCacheSharedContext ctx, boolean depEnabled, Object obj)
+ throws IgniteCheckedException {
+ assert ctx != null;
+
+ if (depEnabled) {
if (obj != null) {
if (obj instanceof Iterable)
ctx.deploy().registerClasses((Iterable<?>)obj);
@@ -1797,4 +1811,4 @@ public class GridCacheUtils {
}
};
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java
index c911b5b..8177c98 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java
@@ -194,6 +194,11 @@ public class GridCacheTtlUpdateRequest extends GridCacheMessage {
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -327,4 +332,4 @@ public class GridCacheTtlUpdateRequest extends GridCacheMessage {
@Override public String toString() {
return S.toString(GridCacheTtlUpdateRequest.class, this, "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
index d6f6a18..4d75403 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
@@ -162,7 +162,8 @@ public class GridCacheTxRecoveryFuture extends GridCompoundIdentityFuture<Boolea
0,
true,
futureId(),
- fut.futureId());
+ fut.futureId(),
+ tx.activeCachesDeploymentEnabled());
try {
cctx.io().send(nearNodeId, req, tx.ioPolicy());
@@ -267,7 +268,8 @@ public class GridCacheTxRecoveryFuture extends GridCompoundIdentityFuture<Boolea
nodeTransactions(id),
false,
futureId(),
- fut.futureId());
+ fut.futureId(),
+ tx.activeCachesDeploymentEnabled());
try {
cctx.io().send(id, req, tx.ioPolicy());
@@ -292,7 +294,8 @@ public class GridCacheTxRecoveryFuture extends GridCompoundIdentityFuture<Boolea
nodeTransactions(nodeId),
false,
futureId(),
- fut.futureId());
+ fut.futureId(),
+ tx.activeCachesDeploymentEnabled());
try {
cctx.io().send(nodeId, req, tx.ioPolicy());
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryRequest.java
index bd6cd88..e5787d7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryRequest.java
@@ -64,14 +64,16 @@ public class GridCacheTxRecoveryRequest extends GridDistributedBaseMessage {
* @param nearTxCheck {@code True} if should check only tx on near node.
* @param futId Future ID.
* @param miniId Mini future ID.
+ * @param addDepInfo Deployment info flag.
*/
public GridCacheTxRecoveryRequest(IgniteInternalTx tx,
int txNum,
boolean nearTxCheck,
IgniteUuid futId,
- IgniteUuid miniId)
+ IgniteUuid miniId,
+ boolean addDepInfo)
{
- super(tx.xidVersion(), 0);
+ super(tx.xidVersion(), 0, addDepInfo);
nearXidVer = tx.nearXidVersion();
sys = tx.system();
@@ -258,4 +260,4 @@ public class GridCacheTxRecoveryRequest extends GridDistributedBaseMessage {
@Override public String toString() {
return S.toString(GridCacheTxRecoveryRequest.class, this, "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryResponse.java
index 8b9550f..361d381 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryResponse.java
@@ -53,17 +53,21 @@ public class GridCacheTxRecoveryResponse extends GridDistributedBaseMessage {
* @param futId Future ID.
* @param miniId Mini future ID.
* @param success {@code True} if all remote transactions were prepared, {@code false} otherwise.
+ * @param addDepInfo Deployment info flag.
*/
public GridCacheTxRecoveryResponse(GridCacheVersion txId,
IgniteUuid futId,
IgniteUuid miniId,
- boolean success)
+ boolean success,
+ boolean addDepInfo)
{
- super(txId, 0);
+ super(txId, 0, addDepInfo);
this.futId = futId;
this.miniId = miniId;
this.success = success;
+
+ this.addDepInfo = addDepInfo;
}
/**
@@ -179,4 +183,4 @@ public class GridCacheTxRecoveryResponse extends GridDistributedBaseMessage {
@Override public String toString() {
return S.toString(GridCacheTxRecoveryResponse.class, this, "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java
index 689cc62..f4a16dc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedBaseMessage.java
@@ -86,19 +86,22 @@ public abstract class GridDistributedBaseMessage extends GridCacheMessage implem
/**
* @param cnt Count of keys references in list of candidates.
+ * @param addDepInfo Deployment info flag.
*/
- protected GridDistributedBaseMessage(int cnt) {
+ protected GridDistributedBaseMessage(int cnt, boolean addDepInfo) {
assert cnt >= 0;
this.cnt = cnt;
+ this.addDepInfo = addDepInfo;
}
/**
* @param ver Either lock or transaction version.
* @param cnt Key count.
+ * @param addDepInfo Deployment info flag.
*/
- protected GridDistributedBaseMessage(GridCacheVersion ver, int cnt) {
- this(cnt);
+ protected GridDistributedBaseMessage(GridCacheVersion ver, int cnt, boolean addDepInfo) {
+ this(cnt, addDepInfo);
assert ver != null;
@@ -122,6 +125,11 @@ public abstract class GridDistributedBaseMessage extends GridCacheMessage implem
candsByIdx = ctx.marshaller().unmarshal(candsByIdxBytes, ldr);
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
/**
* @return Version.
*/
@@ -290,4 +298,4 @@ public abstract class GridDistributedBaseMessage extends GridCacheMessage implem
@Override public String toString() {
return S.toString(GridDistributedBaseMessage.class, this, "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java
index 1963894..2899e25 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java
@@ -118,6 +118,7 @@ public class GridDistributedLockRequest extends GridDistributedBaseMessage {
* @param keyCnt Number of keys.
* @param txSize Expected transaction size.
* @param skipStore Skip store flag.
+ * @param addDepInfo Deployment info flag.
*/
public GridDistributedLockRequest(
int cacheId,
@@ -133,9 +134,10 @@ public class GridDistributedLockRequest extends GridDistributedBaseMessage {
long timeout,
int keyCnt,
int txSize,
- boolean skipStore
+ boolean skipStore,
+ boolean addDepInfo
) {
- super(lockVer, keyCnt);
+ super(lockVer, keyCnt, addDepInfo);
assert keyCnt > 0;
assert futId != null;
@@ -551,4 +553,4 @@ public class GridDistributedLockRequest extends GridDistributedBaseMessage {
return S.toString(GridDistributedLockRequest.class, this, "keysCnt", retVals.length,
"super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
index 8a95b14..cdd58b5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
@@ -72,12 +72,14 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage {
* @param lockVer Lock version.
* @param futId Future ID.
* @param cnt Key count.
+ * @param addDepInfo Deployment info.
*/
public GridDistributedLockResponse(int cacheId,
GridCacheVersion lockVer,
IgniteUuid futId,
- int cnt) {
- super(lockVer, cnt);
+ int cnt,
+ boolean addDepInfo) {
+ super(lockVer, cnt, addDepInfo);
assert futId != null;
@@ -92,12 +94,14 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage {
* @param lockVer Lock ID.
* @param futId Future ID.
* @param err Error.
+ * @param addDepInfo Deployment info.
*/
public GridDistributedLockResponse(int cacheId,
GridCacheVersion lockVer,
IgniteUuid futId,
- Throwable err) {
- super(lockVer, 0);
+ Throwable err,
+ boolean addDepInfo) {
+ super(lockVer, 0, addDepInfo);
assert futId != null;
@@ -112,13 +116,15 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage {
* @param futId Future ID.
* @param cnt Count.
* @param err Error.
+ * @param addDepInfo Deployment info.
*/
public GridDistributedLockResponse(int cacheId,
GridCacheVersion lockVer,
IgniteUuid futId,
int cnt,
- Throwable err) {
- super(lockVer, cnt);
+ Throwable err,
+ boolean addDepInfo) {
+ super(lockVer, cnt, addDepInfo);
assert futId != null;
@@ -325,4 +331,4 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage {
return S.toString(GridDistributedLockResponse.class, this,
"super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
index ddf6799..34b3112 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
@@ -89,6 +89,7 @@ public class GridDistributedTxFinishRequest extends GridDistributedBaseMessage {
* @param committedVers Committed versions.
* @param rolledbackVers Rolled back versions.
* @param txSize Expected transaction size.
+ * @param addDepInfo Deployment info flag.
*/
public GridDistributedTxFinishRequest(
GridCacheVersion xidVer,
@@ -104,9 +105,10 @@ public class GridDistributedTxFinishRequest extends GridDistributedBaseMessage {
GridCacheVersion baseVer,
Collection<GridCacheVersion> committedVers,
Collection<GridCacheVersion> rolledbackVers,
- int txSize
+ int txSize,
+ boolean addDepInfo
) {
- super(xidVer, 0);
+ super(xidVer, 0, addDepInfo);
assert xidVer != null;
this.futId = futId;
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishResponse.java
index 2cfafc1..4e17e79 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishResponse.java
@@ -74,6 +74,11 @@ public class GridDistributedTxFinishResponse extends GridCacheMessage {
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -151,4 +156,4 @@ public class GridDistributedTxFinishResponse extends GridCacheMessage {
@Override public String toString() {
return GridToStringBuilder.toString(GridDistributedTxFinishResponse.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
index 5ba7128..533c8ca 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
@@ -131,15 +131,17 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
* @param writes Write entries.
* @param txNodes Transaction nodes mapping.
* @param onePhaseCommit One phase commit flag.
+ * @param addDepInfo Deployment info flag.
*/
public GridDistributedTxPrepareRequest(
IgniteInternalTx tx,
@Nullable Collection<IgniteTxEntry> reads,
Collection<IgniteTxEntry> writes,
Map<UUID, Collection<UUID>> txNodes,
- boolean onePhaseCommit
+ boolean onePhaseCommit,
+ boolean addDepInfo
) {
- super(tx.xidVersion(), 0);
+ super(tx.xidVersion(), 0, addDepInfo);
writeVer = tx.writeVersion();
threadId = tx.threadId();
@@ -337,6 +339,11 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo || forceAddDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -605,4 +612,4 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
return GridToStringBuilder.toString(GridDistributedTxPrepareRequest.class, this,
"super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java
index e798458..d2c5aa4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java
@@ -52,17 +52,19 @@ public class GridDistributedTxPrepareResponse extends GridDistributedBaseMessage
/**
* @param xid Transaction ID.
+ * @param addDepInfo Deployment info flag.
*/
- public GridDistributedTxPrepareResponse(GridCacheVersion xid) {
- super(xid, 0);
+ public GridDistributedTxPrepareResponse(GridCacheVersion xid, boolean addDepInfo) {
+ super(xid, 0, addDepInfo);
}
/**
* @param xid Lock ID.
* @param err Error.
+ * @param addDepInfo Deployment info flag.
*/
- public GridDistributedTxPrepareResponse(GridCacheVersion xid, Throwable err) {
- super(xid, 0);
+ public GridDistributedTxPrepareResponse(GridCacheVersion xid, Throwable err, boolean addDepInfo) {
+ super(xid, 0, addDepInfo);
this.err = err;
}
@@ -168,4 +170,4 @@ public class GridDistributedTxPrepareResponse extends GridDistributedBaseMessage
return GridToStringBuilder.toString(GridDistributedTxPrepareResponse.class, this, "err",
err == null ? "null" : err.toString(), "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
index f969737..0834e88 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
@@ -192,6 +192,11 @@ public class GridDistributedTxRemoteAdapter extends IgniteTxAdapter
return Collections.emptyList();
}
+ /** {@inheritDoc} */
+ @Override public boolean activeCachesDeploymentEnabled() {
+ return false;
+ }
+
/**
* @return Checks if transaction has no entries.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedUnlockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedUnlockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedUnlockRequest.java
index 70c83f2..213a0ff 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedUnlockRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedUnlockRequest.java
@@ -54,9 +54,10 @@ public class GridDistributedUnlockRequest extends GridDistributedBaseMessage {
/**
* @param cacheId Cache ID.
* @param keyCnt Key count.
+ * @param addDepInfo Deployment info flag.
*/
- public GridDistributedUnlockRequest(int cacheId, int keyCnt) {
- super(keyCnt);
+ public GridDistributedUnlockRequest(int cacheId, int keyCnt, boolean addDepInfo) {
+ super(keyCnt, addDepInfo);
this.cacheId = cacheId;
}
@@ -159,4 +160,4 @@ public class GridDistributedUnlockRequest extends GridDistributedBaseMessage {
@Override public String toString() {
return S.toString(GridDistributedUnlockRequest.class, this, "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
index e6a5c9a..0ef7606 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
@@ -52,6 +52,11 @@ public class GridDhtAffinityAssignmentRequest extends GridCacheMessage {
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean partitionExchangeMessage() {
return true;
}
@@ -127,4 +132,4 @@ public class GridDhtAffinityAssignmentRequest extends GridCacheMessage {
@Override public String toString() {
return S.toString(GridDhtAffinityAssignmentRequest.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
index 2798d7c..42358d9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
@@ -135,6 +135,11 @@ public class GridDhtAffinityAssignmentResponse extends GridCacheMessage {
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -202,4 +207,4 @@ public class GridDhtAffinityAssignmentResponse extends GridCacheMessage {
@Override public String toString() {
return S.toString(GridDhtAffinityAssignmentResponse.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 333bce2..9d02705 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
@@ -694,7 +694,8 @@ public abstract class GridDhtCacheAdapter<K, V> extends GridDistributedCacheAdap
GridNearGetResponse res = new GridNearGetResponse(ctx.cacheId(),
req.futureId(),
req.miniId(),
- req.version());
+ req.version(),
+ req.deployInfo() != null);
GridDhtFuture<Collection<GridCacheEntryInfo>> fut =
(GridDhtFuture<Collection<GridCacheEntryInfo>>)f;
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
index 2c16534..4f3e97d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
@@ -866,7 +866,8 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
inTx() ? tx.subjectId() : null,
inTx() ? tx.taskNameHash() : 0,
read ? accessTtl : -1L,
- skipStore);
+ skipStore,
+ cctx.deploymentEnabled());
try {
for (ListIterator<GridDhtCacheEntry> it = dhtMapping.listIterator(); it.hasNext();) {
@@ -1236,4 +1237,4 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
return S.toString(MiniFuture.class, this, "nodeId", node.id(), "super", super.toString());
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java
index 99c1b86..91ab1ca 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java
@@ -120,6 +120,7 @@ public class GridDhtLockRequest extends GridDistributedLockRequest {
* @param taskNameHash Task name hash code.
* @param accessTtl TTL for read operation.
* @param skipStore Skip store flag.
+ * @param addDepInfo Deployment info flag.
*/
public GridDhtLockRequest(
int cacheId,
@@ -141,7 +142,8 @@ public class GridDhtLockRequest extends GridDistributedLockRequest {
@Nullable UUID subjId,
int taskNameHash,
long accessTtl,
- boolean skipStore
+ boolean skipStore,
+ boolean addDepInfo
) {
super(cacheId,
nodeId,
@@ -156,7 +158,8 @@ public class GridDhtLockRequest extends GridDistributedLockRequest {
timeout,
dhtCnt == 0 ? nearCnt : dhtCnt,
txSize,
- skipStore);
+ skipStore,
+ addDepInfo);
this.topVer = topVer;
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 f79156b..1e92b54 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
@@ -75,9 +75,11 @@ public class GridDhtLockResponse extends GridDistributedLockResponse {
* @param futId Future ID.
* @param miniId Mini future ID.
* @param cnt Key count.
+ * @param addDepInfo Deployment info.
*/
- public GridDhtLockResponse(int cacheId, GridCacheVersion lockVer, IgniteUuid futId, IgniteUuid miniId, int cnt) {
- super(cacheId, lockVer, futId, cnt);
+ public GridDhtLockResponse(int cacheId, GridCacheVersion lockVer, IgniteUuid futId, IgniteUuid miniId, int cnt,
+ boolean addDepInfo) {
+ super(cacheId, lockVer, futId, cnt, addDepInfo);
assert miniId != null;
@@ -89,9 +91,11 @@ public class GridDhtLockResponse extends GridDistributedLockResponse {
* @param futId Future ID.
* @param miniId Mini future ID.
* @param err Error.
+ * @param addDepInfo
*/
- public GridDhtLockResponse(int cacheId, GridCacheVersion lockVer, IgniteUuid futId, IgniteUuid miniId, Throwable err) {
- super(cacheId, lockVer, futId, err);
+ public GridDhtLockResponse(int cacheId, GridCacheVersion lockVer, IgniteUuid futId, IgniteUuid miniId,
+ Throwable err, boolean addDepInfo) {
+ super(cacheId, lockVer, futId, err, addDepInfo);
assert miniId != null;
@@ -291,4 +295,4 @@ public class GridDhtLockResponse extends GridDistributedLockResponse {
@Override public String toString() {
return S.toString(GridDhtLockResponse.class, this, super.toString());
}
-}
\ No newline at end of file
+}
[2/3] ignite git commit: ignite-1272: support of custom class loaders
and conditional deployment info for portable marshaller and portable caches
Posted by dm...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index 1a869e7..c09a611 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -408,7 +408,8 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
boolean cancelled = false;
try {
- res = new GridDhtLockResponse(ctx.cacheId(), req.version(), req.futureId(), req.miniId(), cnt);
+ res = new GridDhtLockResponse(ctx.cacheId(), req.version(), req.futureId(), req.miniId(), cnt,
+ ctx.deploymentEnabled());
dhtTx = startRemoteTx(nodeId, req, res);
nearTx = isNearEnabled(cacheCfg) ? near().startRemoteTx(nodeId, req) : null;
@@ -435,7 +436,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
U.error(log, err, e);
res = new GridDhtLockResponse(ctx.cacheId(), req.version(), req.futureId(), req.miniId(),
- new IgniteTxRollbackCheckedException(err, e));
+ new IgniteTxRollbackCheckedException(err, e), ctx.deploymentEnabled());
fail = true;
}
@@ -448,7 +449,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
req.version(),
req.futureId(),
req.miniId(),
- new IgniteCheckedException(err, e));
+ new IgniteCheckedException(err, e), ctx.deploymentEnabled());
fail = true;
}
@@ -1035,7 +1036,8 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
false,
0,
null,
- topVer);
+ topVer,
+ ctx.deploymentEnabled());
try {
ctx.io().send(nearNode, res, ctx.ioPolicy());
@@ -1080,7 +1082,8 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
tx != null && tx.onePhaseCommit(),
entries.size(),
err,
- null);
+ null,
+ ctx.deploymentEnabled());
if (err == null) {
res.pending(localDhtPendingVersions(entries, mappedVer));
@@ -1196,7 +1199,8 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
false,
entries.size(),
e,
- null);
+ null,
+ ctx.deploymentEnabled());
}
}
@@ -1522,7 +1526,8 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
List<KeyCacheObject> keyBytes = entry.getValue();
- GridDhtUnlockRequest req = new GridDhtUnlockRequest(ctx.cacheId(), keyBytes.size());
+ GridDhtUnlockRequest req = new GridDhtUnlockRequest(ctx.cacheId(), keyBytes.size(),
+ ctx.deploymentEnabled());
req.version(dhtVer);
@@ -1556,7 +1561,8 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
if (!dhtMap.containsKey(n)) {
List<KeyCacheObject> keyBytes = entry.getValue();
- GridDhtUnlockRequest req = new GridDhtUnlockRequest(ctx.cacheId(), keyBytes.size());
+ GridDhtUnlockRequest req = new GridDhtUnlockRequest(ctx.cacheId(), keyBytes.size(),
+ ctx.deploymentEnabled());
req.version(dhtVer);
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
index 79bccc2..992bd66 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
@@ -320,7 +320,8 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
tx.pendingVersions(),
tx.size(),
tx.subjectId(),
- tx.taskNameHash());
+ tx.taskNameHash(),
+ tx.activeCachesDeploymentEnabled());
try {
cctx.io().send(n, req, tx.ioPolicy());
@@ -397,7 +398,8 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
tx.pendingVersions(),
tx.size(),
tx.subjectId(),
- tx.taskNameHash());
+ tx.taskNameHash(),
+ tx.activeCachesDeploymentEnabled());
req.writeVersion(tx.writeVersion() != null ? tx.writeVersion() : tx.xidVersion());
@@ -450,7 +452,8 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
tx.pendingVersions(),
tx.size(),
tx.subjectId(),
- tx.taskNameHash());
+ tx.taskNameHash(),
+ tx.activeCachesDeploymentEnabled());
req.writeVersion(tx.writeVersion());
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
index be59a95..caa0aa5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
@@ -104,6 +104,7 @@ public class GridDhtTxFinishRequest extends GridDistributedTxFinishRequest {
* @param txSize Expected transaction size.
* @param subjId Subject ID.
* @param taskNameHash Task name hash.
+ * @param addDepInfo Deployment info flag.
*/
public GridDhtTxFinishRequest(
UUID nearNodeId,
@@ -127,7 +128,8 @@ public class GridDhtTxFinishRequest extends GridDistributedTxFinishRequest {
Collection<GridCacheVersion> pendingVers,
int txSize,
@Nullable UUID subjId,
- int taskNameHash
+ int taskNameHash,
+ boolean addDepInfo
) {
super(
xidVer,
@@ -143,7 +145,8 @@ public class GridDhtTxFinishRequest extends GridDistributedTxFinishRequest {
baseVer,
committedVers,
rolledbackVers,
- txSize);
+ txSize,
+ addDepInfo);
assert miniId != null;
assert nearNodeId != null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
index ec0f234..fb4d97d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
@@ -214,4 +214,4 @@ public class GridDhtTxFinishResponse extends GridDistributedTxFinishResponse {
@Override public byte fieldsCount() {
return 8;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 761bbb0..a15a334 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
@@ -670,7 +670,8 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter
tx.writeVersion(),
ret,
prepErr,
- null);
+ null,
+ tx.activeCachesDeploymentEnabled());
if (prepErr == null) {
addDhtValues(res);
@@ -976,7 +977,8 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter
true,
tx.onePhaseCommit(),
tx.subjectId(),
- tx.taskNameHash());
+ tx.taskNameHash(),
+ tx.activeCachesDeploymentEnabled());
int idx = 0;
@@ -1075,7 +1077,8 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter
true,
tx.onePhaseCommit(),
tx.subjectId(),
- tx.taskNameHash());
+ tx.taskNameHash(),
+ tx.activeCachesDeploymentEnabled());
for (IgniteTxEntry entry : nearMapping.writes()) {
try {
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
index 29d5a70..fcd66c2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
@@ -29,6 +29,7 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.GridDirectCollection;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
+import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxPrepareRequest;
import org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry;
@@ -116,7 +117,7 @@ public class GridDhtTxPrepareRequest extends GridDistributedTxPrepareRequest {
* @param txNodes Transaction nodes mapping.
* @param nearXidVer Near transaction ID.
* @param last {@code True} if this is last prepare request for node.
- * @param onePhaseCommit One phase commit flag.
+ * @param addDepInfo Deployment info flag.
*/
public GridDhtTxPrepareRequest(
IgniteUuid futId,
@@ -130,8 +131,9 @@ public class GridDhtTxPrepareRequest extends GridDistributedTxPrepareRequest {
boolean last,
boolean onePhaseCommit,
UUID subjId,
- int taskNameHash) {
- super(tx, null, dhtWrites, txNodes, onePhaseCommit);
+ int taskNameHash,
+ boolean addDepInfo) {
+ super(tx, null, dhtWrites, txNodes, onePhaseCommit, addDepInfo);
assert futId != null;
assert miniId != null;
@@ -271,8 +273,11 @@ public class GridDhtTxPrepareRequest extends GridDistributedTxPrepareRequest {
return owned;
}
- /** {@inheritDoc}
- * @param ctx*/
+ /**
+ * {@inheritDoc}
+ *
+ * @param ctx
+ */
@Override public void prepareMarshal(GridCacheSharedContext ctx) throws IgniteCheckedException {
super.prepareMarshal(ctx);
@@ -281,12 +286,13 @@ public class GridDhtTxPrepareRequest extends GridDistributedTxPrepareRequest {
ownedVals = owned.values();
- for (IgniteTxKey key: ownedKeys)
- key.prepareMarshal(ctx.cacheContext(key.cacheId()));
+ for (IgniteTxKey key: ownedKeys) {
+ GridCacheContext cctx = ctx.cacheContext(key.cacheId());
+
+ key.prepareMarshal(cctx);
- if (ctx.deploymentEnabled()) {
- for (IgniteTxKey k : owned.keySet())
- prepareObject(k, ctx);
+ if (addDepInfo)
+ prepareObject(key, cctx);
}
}
@@ -551,4 +557,4 @@ public class GridDhtTxPrepareRequest extends GridDistributedTxPrepareRequest {
@Override public byte fieldsCount() {
return 35;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
index d903165..2eba9f1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
@@ -84,9 +84,10 @@ public class GridDhtTxPrepareResponse extends GridDistributedTxPrepareResponse {
* @param xid Xid version.
* @param futId Future ID.
* @param miniId Mini future ID.
+ * @param addDepInfo Deployment info flag.
*/
- public GridDhtTxPrepareResponse(GridCacheVersion xid, IgniteUuid futId, IgniteUuid miniId) {
- super(xid);
+ public GridDhtTxPrepareResponse(GridCacheVersion xid, IgniteUuid futId, IgniteUuid miniId, boolean addDepInfo) {
+ super(xid, addDepInfo);
assert futId != null;
assert miniId != null;
@@ -100,9 +101,11 @@ public class GridDhtTxPrepareResponse extends GridDistributedTxPrepareResponse {
* @param futId Future ID.
* @param miniId Mini future ID.
* @param err Error.
+ * @param addDepInfo Deployment enabled.
*/
- public GridDhtTxPrepareResponse(GridCacheVersion xid, IgniteUuid futId, IgniteUuid miniId, Throwable err) {
- super(xid, err);
+ public GridDhtTxPrepareResponse(GridCacheVersion xid, IgniteUuid futId, IgniteUuid miniId, Throwable err,
+ boolean addDepInfo) {
+ super(xid, err, addDepInfo);
assert futId != null;
assert miniId != null;
@@ -367,4 +370,4 @@ public class GridDhtTxPrepareResponse extends GridDistributedTxPrepareResponse {
@Override public byte fieldsCount() {
return 14;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java
index e18dc33..38152a7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java
@@ -52,9 +52,10 @@ public class GridDhtUnlockRequest extends GridDistributedUnlockRequest {
/**
* @param cacheId Cache ID.
* @param dhtCnt Key count.
+ * @param addDepInfo Deployment info flag.
*/
- public GridDhtUnlockRequest(int cacheId, int dhtCnt) {
- super(cacheId, dhtCnt);
+ public GridDhtUnlockRequest(int cacheId, int dhtCnt, boolean addDepInfo) {
+ super(cacheId, dhtCnt, addDepInfo);
}
/**
@@ -157,4 +158,4 @@ public class GridDhtUnlockRequest extends GridDistributedUnlockRequest {
@Override public byte fieldsCount() {
return 9;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
index abbe7b8..a68e834 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
@@ -409,7 +409,8 @@ public class GridPartitionedGetFuture<K, V> extends GridCompoundIdentityFuture<M
subjId,
taskName == null ? 0 : taskName.hashCode(),
expiryPlc != null ? expiryPlc.forAccess() : -1L,
- skipVals);
+ skipVals,
+ cctx.deploymentEnabled());
add(fut); // Append new future.
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 854a83d..cba6872 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
@@ -1087,9 +1087,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
GridNearAtomicUpdateRequest req,
CI2<GridNearAtomicUpdateRequest, GridNearAtomicUpdateResponse> completionCb
) {
- GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(ctx.cacheId(),
- nodeId,
- req.futureVersion());
+ GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(ctx.cacheId(), nodeId, req.futureVersion(),
+ ctx.deploymentEnabled());
List<KeyCacheObject> keys = req.keys();
@@ -2480,7 +2479,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
GridCacheVersion ver = req.writeVersion();
// Always send update reply.
- GridDhtAtomicUpdateResponse res = new GridDhtAtomicUpdateResponse(ctx.cacheId(), req.futureVersion());
+ GridDhtAtomicUpdateResponse res = new GridDhtAtomicUpdateResponse(ctx.cacheId(), req.futureVersion(),
+ ctx.deploymentEnabled());
Boolean replicate = ctx.isDrEnabled();
@@ -2936,7 +2936,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
*/
private void finish() {
GridDhtAtomicDeferredUpdateResponse msg = new GridDhtAtomicDeferredUpdateResponse(ctx.cacheId(),
- respVers);
+ respVers, ctx.deploymentEnabled());
try {
ctx.kernalContext().gateway().readLock();
@@ -2966,4 +2966,4 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
pendingResponses.remove(nodeId, this);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicDeferredUpdateResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicDeferredUpdateResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicDeferredUpdateResponse.java
index f3ecdb4..3a7bf1c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicDeferredUpdateResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicDeferredUpdateResponse.java
@@ -58,13 +58,21 @@ public class GridDhtAtomicDeferredUpdateResponse extends GridCacheMessage implem
/**
* Constructor.
*
+ * @param cacheId Cache ID.
* @param futVers Future versions.
+ * @param addDepInfo Deployment info.
*/
- public GridDhtAtomicDeferredUpdateResponse(int cacheId, Collection<GridCacheVersion> futVers) {
+ public GridDhtAtomicDeferredUpdateResponse(int cacheId, Collection<GridCacheVersion> futVers, boolean addDepInfo) {
assert !F.isEmpty(futVers);
this.cacheId = cacheId;
this.futVers = futVers;
+ this.addDepInfo = addDepInfo;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
}
/**
@@ -133,4 +141,4 @@ public class GridDhtAtomicDeferredUpdateResponse extends GridCacheMessage implem
@Override public byte fieldsCount() {
return 4;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
index 35b8e27..4ace5c4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
@@ -233,7 +233,8 @@ public class GridDhtAtomicUpdateFuture extends GridFutureAdapter<Void>
forceTransformBackups,
this.updateReq.subjectId(),
this.updateReq.taskNameHash(),
- forceTransformBackups ? this.updateReq.invokeArguments() : null);
+ forceTransformBackups ? this.updateReq.invokeArguments() : null,
+ cctx.deploymentEnabled());
mappings.put(nodeId, updateReq);
}
@@ -288,7 +289,8 @@ public class GridDhtAtomicUpdateFuture extends GridFutureAdapter<Void>
forceTransformBackups,
this.updateReq.subjectId(),
this.updateReq.taskNameHash(),
- forceTransformBackups ? this.updateReq.invokeArguments() : null);
+ forceTransformBackups ? this.updateReq.invokeArguments() : null,
+ cctx.deploymentEnabled());
mappings.put(nodeId, updateReq);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 f5231ef..e55cac9 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
@@ -159,6 +159,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
* @param forceTransformBackups Force transform backups flag.
* @param subjId Subject ID.
* @param taskNameHash Task name hash code.
+ * @param addDepInfo Deployment info.
*/
public GridDhtAtomicUpdateRequest(
int cacheId,
@@ -170,7 +171,8 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
boolean forceTransformBackups,
UUID subjId,
int taskNameHash,
- Object[] invokeArgs
+ Object[] invokeArgs,
+ boolean addDepInfo
) {
assert invokeArgs == null || forceTransformBackups;
@@ -184,6 +186,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
this.subjId = subjId;
this.taskNameHash = taskNameHash;
this.invokeArgs = invokeArgs;
+ this.addDepInfo = addDepInfo;
keys = new ArrayList<>();
@@ -546,13 +549,16 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
prepareMarshalCacheObjects(nearVals, cctx);
if (forceTransformBackups) {
- invokeArgsBytes = marshalInvokeArguments(invokeArgs, ctx);
+ // force addition of deployment info for entry processors if P2P is enabled globally.
+ if (!addDepInfo && ctx.deploymentEnabled())
+ addDepInfo = true;
- entryProcessorsBytes = marshalCollection(entryProcessors, ctx);
- }
+ invokeArgsBytes = marshalInvokeArguments(invokeArgs, cctx);
- if (forceTransformBackups)
- nearEntryProcessorsBytes = marshalCollection(nearEntryProcessors, ctx);
+ entryProcessorsBytes = marshalCollection(entryProcessors, cctx);
+
+ nearEntryProcessorsBytes = marshalCollection(nearEntryProcessors, cctx);
+ }
}
/** {@inheritDoc} */
@@ -580,6 +586,11 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -913,4 +924,4 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
@Override public String toString() {
return S.toString(GridDhtAtomicUpdateRequest.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 04d36e5..f1bb323 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
@@ -77,10 +77,12 @@ public class GridDhtAtomicUpdateResponse extends GridCacheMessage implements Gri
/**
* @param cacheId Cache ID.
* @param futVer Future version.
+ * @param addDepInfo Deployment info.
*/
- public GridDhtAtomicUpdateResponse(int cacheId, GridCacheVersion futVer) {
+ public GridDhtAtomicUpdateResponse(int cacheId, GridCacheVersion futVer, boolean addDepInfo) {
this.cacheId = cacheId;
this.futVer = futVer;
+ this.addDepInfo = addDepInfo;
}
/** {@inheritDoc} */
@@ -180,6 +182,11 @@ public class GridDhtAtomicUpdateResponse extends GridCacheMessage implements Gri
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -285,4 +292,4 @@ public class GridDhtAtomicUpdateResponse extends GridCacheMessage implements Gri
@Override public String toString() {
return S.toString(GridDhtAtomicUpdateResponse.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 97aa646..ae662c8 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
@@ -583,7 +583,8 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
req = mappings != null ? mappings.get(nodeId) : null;
if (req != null) {
- res = new GridNearAtomicUpdateResponse(cctx.cacheId(), nodeId, req.futureVersion());
+ res = new GridNearAtomicUpdateResponse(cctx.cacheId(), nodeId, req.futureVersion(),
+ cctx.deploymentEnabled());
ClusterTopologyCheckedException e = new ClusterTopologyCheckedException("Primary node left grid " +
"before response is received: " + nodeId);
@@ -794,7 +795,8 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
synchronized (this) {
GridNearAtomicUpdateResponse res = new GridNearAtomicUpdateResponse(cctx.cacheId(),
req.nodeId(),
- req.futureVersion());
+ req.futureVersion(),
+ cctx.deploymentEnabled());
res.addFailedKeys(req.keys(), e);
@@ -1048,7 +1050,8 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
subjId,
taskNameHash,
skipStore,
- cctx.kernalContext().clientNode());
+ cctx.kernalContext().clientNode(),
+ cctx.deploymentEnabled());
pendingMappings.put(nodeId, mapped);
}
@@ -1140,7 +1143,8 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
subjId,
taskNameHash,
skipStore,
- cctx.kernalContext().clientNode());
+ cctx.kernalContext().clientNode(),
+ cctx.deploymentEnabled());
req.addUpdateEntry(cacheKey,
val,
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 ccb67d2..33fa4bd 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
@@ -178,6 +178,7 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
* @param taskNameHash Task name hash code.
* @param skipStore Skip write-through to a persistent storage.
* @param clientReq Client node request flag.
+ * @param addDepInfo Deployment info flag.
*/
public GridNearAtomicUpdateRequest(
int cacheId,
@@ -196,7 +197,8 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
@Nullable UUID subjId,
int taskNameHash,
boolean skipStore,
- boolean clientReq
+ boolean clientReq,
+ boolean addDepInfo
) {
assert futVer != null;
@@ -218,6 +220,7 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
this.taskNameHash = taskNameHash;
this.skipStore = skipStore;
this.clientReq = clientReq;
+ this.addDepInfo = addDepInfo;
keys = new ArrayList<>();
}
@@ -538,11 +541,6 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
prepareMarshalCacheObjects(keys, cctx);
- if (op == TRANSFORM)
- entryProcessorsBytes = marshalCollection(entryProcessors, ctx);
- else
- prepareMarshalCacheObjects(vals, cctx);
-
if (filter != null) {
boolean hasFilter = false;
@@ -558,10 +556,20 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
filter = null;
}
- invokeArgsBytes = marshalInvokeArguments(invokeArgs, ctx);
-
if (expiryPlc != null)
- expiryPlcBytes = CU.marshal(ctx, new IgniteExternalizableExpiryPolicy(expiryPlc));
+ expiryPlcBytes = CU.marshal(cctx, new IgniteExternalizableExpiryPolicy(expiryPlc));
+
+ if (op == TRANSFORM) {
+ // force addition of deployment info for entry processors if P2P is enabled globally.
+ if (!addDepInfo && ctx.deploymentEnabled())
+ addDepInfo = true;
+
+ entryProcessorsBytes = marshalCollection(entryProcessors, cctx);
+
+ invokeArgsBytes = marshalInvokeArguments(invokeArgs, cctx);
+ }
+ else
+ prepareMarshalCacheObjects(vals, cctx);
}
/** {@inheritDoc} */
@@ -591,6 +599,11 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -957,4 +970,4 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
return S.toString(GridNearAtomicUpdateRequest.class, this, "filter", Arrays.toString(filter),
"parent", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 376f4ec..6536af3 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
@@ -114,13 +114,15 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
* @param cacheId Cache ID.
* @param nodeId Node ID this reply should be sent to.
* @param futVer Future version.
+ * @param addDepInfo Deployment info flag.
*/
- public GridNearAtomicUpdateResponse(int cacheId, UUID nodeId, GridCacheVersion futVer) {
+ public GridNearAtomicUpdateResponse(int cacheId, UUID nodeId, GridCacheVersion futVer, boolean addDepInfo) {
assert futVer != null;
this.cacheId = cacheId;
this.nodeId = nodeId;
this.futVer = futVer;
+ this.addDepInfo = addDepInfo;
}
/** {@inheritDoc} */
@@ -428,6 +430,11 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -631,4 +638,4 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
@Override public String toString() {
return S.toString(GridNearAtomicUpdateResponse.class, this, "parent");
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index f38126d..6d69198 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@ -493,7 +493,8 @@ public class GridDhtColocatedCache<K, V> extends GridDhtTransactionalCacheAdapte
GridNearUnlockRequest req = map.get(primary);
if (req == null) {
- map.put(primary, req = new GridNearUnlockRequest(ctx.cacheId(), keyCnt));
+ map.put(primary, req = new GridNearUnlockRequest(ctx.cacheId(), keyCnt,
+ ctx.deploymentEnabled()));
req.version(ver);
}
@@ -597,7 +598,8 @@ public class GridDhtColocatedCache<K, V> extends GridDhtTransactionalCacheAdapte
GridNearUnlockRequest req = map.get(primary);
if (req == null) {
- map.put(primary, req = new GridNearUnlockRequest(ctx.cacheId(), keyCnt));
+ map.put(primary, req = new GridNearUnlockRequest(ctx.cacheId(), keyCnt,
+ ctx.deploymentEnabled()));
req.version(ver);
}
@@ -896,4 +898,4 @@ public class GridDhtColocatedCache<K, V> extends GridDhtTransactionalCacheAdapte
@Override public String toString() {
return S.toString(GridDhtColocatedCache.class, this, super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index be09f54..53c2b63 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -849,7 +849,8 @@ public final class GridDhtColocatedLockFuture extends GridCompoundIdentityFuture
inTx() ? tx.taskNameHash() : 0,
read ? accessTtl : -1L,
skipStore,
- clientFirst);
+ clientFirst,
+ cctx.deploymentEnabled());
mapping.request(req);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
index eaed424..bb78748 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
@@ -266,7 +266,8 @@ public final class GridDhtForceKeysFuture<K, V> extends GridCompoundFuture<Objec
futId,
fut.miniId(),
mappedKeys,
- topVer);
+ topVer,
+ cctx.deploymentEnabled());
try {
add(fut); // Append new future.
@@ -588,4 +589,4 @@ public final class GridDhtForceKeysFuture<K, V> extends GridCompoundFuture<Objec
return S.toString(MiniFuture.class, this, super.toString());
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 fac8b9b..15243d5 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
@@ -59,18 +59,27 @@ public class GridDhtForceKeysRequest extends GridCacheMessage implements GridCac
private AffinityTopologyVersion topVer;
/**
+ * Required by {@link Externalizable}.
+ */
+ public GridDhtForceKeysRequest() {
+ // No-op.
+ }
+
+ /**
* @param cacheId Cache ID.
* @param futId Future ID.
* @param miniId Mini-future ID.
* @param keys Keys.
* @param topVer Topology version.
+ * @param addDepInfo Deployment info.
*/
GridDhtForceKeysRequest(
int cacheId,
IgniteUuid futId,
IgniteUuid miniId,
Collection<KeyCacheObject> keys,
- AffinityTopologyVersion topVer
+ AffinityTopologyVersion topVer,
+ boolean addDepInfo
) {
assert futId != null;
assert miniId != null;
@@ -81,22 +90,7 @@ public class GridDhtForceKeysRequest extends GridCacheMessage implements GridCac
this.miniId = miniId;
this.keys = keys;
this.topVer = topVer;
- }
-
- /**
- * Required by {@link Externalizable}.
- */
- public GridDhtForceKeysRequest() {
- // No-op.
- }
-
- /**
- * @param keys Collection of keys.
- */
- public GridDhtForceKeysRequest(Collection<KeyCacheObject> keys) {
- assert !F.isEmpty(keys);
-
- this.keys = keys;
+ this.addDepInfo = addDepInfo;
}
/**
@@ -146,6 +140,11 @@ public class GridDhtForceKeysRequest extends GridCacheMessage implements GridCac
finishUnmarshalCacheObjects(keys, cctx, ldr);
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
/**
* @return Key count.
*/
@@ -259,4 +258,4 @@ public class GridDhtForceKeysRequest extends GridCacheMessage implements GridCac
@Override public String toString() {
return S.toString(GridDhtForceKeysRequest.class, this, "keyCnt", keyCount(), "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 9418887..4cdecec 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
@@ -80,14 +80,16 @@ public class GridDhtForceKeysResponse extends GridCacheMessage implements GridCa
* @param cacheId Cache ID.
* @param futId Request id.
* @param miniId Mini-future ID.
+ * @param addDepInfo Deployment info flag.
*/
- public GridDhtForceKeysResponse(int cacheId, IgniteUuid futId, IgniteUuid miniId) {
+ public GridDhtForceKeysResponse(int cacheId, IgniteUuid futId, IgniteUuid miniId, boolean addDepInfo) {
assert futId != null;
assert miniId != null;
this.cacheId = cacheId;
this.futId = futId;
this.miniId = miniId;
+ this.addDepInfo = addDepInfo;
}
/**
@@ -189,6 +191,11 @@ public class GridDhtForceKeysResponse extends GridCacheMessage implements GridCa
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -308,4 +315,4 @@ public class GridDhtForceKeysResponse extends GridCacheMessage implements GridCa
@Override public String toString() {
return S.toString(GridDhtForceKeysResponse.class, this, super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
index 848ad87..7609d98 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
@@ -189,6 +189,11 @@ public class GridDhtPartitionDemandMessage extends GridCacheMessage {
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 190946b..7a07f9a 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
@@ -78,14 +78,16 @@ public class GridDhtPartitionSupplyMessage extends GridCacheMessage implements G
* @param workerId Worker ID.
* @param updateSeq Update sequence for this node.
* @param cacheId Cache ID.
+ * @param addDepInfo Deployment info flag.
*/
- GridDhtPartitionSupplyMessage(int workerId, long updateSeq, int cacheId) {
+ GridDhtPartitionSupplyMessage(int workerId, long updateSeq, int cacheId, boolean addDepInfo) {
assert workerId >= 0;
assert updateSeq > 0;
this.cacheId = cacheId;
this.updateSeq = updateSeq;
this.workerId = workerId;
+ this.addDepInfo = addDepInfo;
}
/**
@@ -258,6 +260,11 @@ public class GridDhtPartitionSupplyMessage extends GridCacheMessage implements G
}
}
+ /** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
/**
* @return Number of entries in message.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java
index fe328ef..28a73b1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java
@@ -253,7 +253,7 @@ class GridDhtPartitionSupplyPool {
GridDhtPartitionDemandMessage d = msg.message();
GridDhtPartitionSupplyMessage s = new GridDhtPartitionSupplyMessage(d.workerId(),
- d.updateSequence(), cctx.cacheId());
+ d.updateSequence(), cctx.cacheId(), cctx.deploymentEnabled());
long preloadThrottle = cctx.config().getRebalanceThrottle();
@@ -312,7 +312,7 @@ class GridDhtPartitionSupplyPool {
U.sleep(preloadThrottle);
s = new GridDhtPartitionSupplyMessage(d.workerId(), d.updateSequence(),
- cctx.cacheId());
+ cctx.cacheId(), cctx.deploymentEnabled());
}
GridCacheEntryInfo info = e.info();
@@ -364,7 +364,7 @@ class GridDhtPartitionSupplyPool {
U.sleep(preloadThrottle);
s = new GridDhtPartitionSupplyMessage(d.workerId(),
- d.updateSequence(), cctx.cacheId());
+ d.updateSequence(), cctx.cacheId(), cctx.deploymentEnabled());
}
GridCacheSwapEntry swapEntry = e.getValue();
@@ -448,7 +448,7 @@ class GridDhtPartitionSupplyPool {
s = new GridDhtPartitionSupplyMessage(d.workerId(),
d.updateSequence(),
- cctx.cacheId());
+ cctx.cacheId(), cctx.deploymentEnabled());
}
if (preloadPred == null || preloadPred.apply(info))
@@ -552,4 +552,4 @@ class GridDhtPartitionSupplyPool {
return "DemandMessage [senderId=" + senderId() + ", msg=" + message() + ']';
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java
index 041d5f0..4e714ed 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsAbstractMessage.java
@@ -56,6 +56,11 @@ abstract class GridDhtPartitionsAbstractMessage extends GridCacheMessage {
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean partitionExchangeMessage() {
return true;
}
@@ -142,4 +147,4 @@ abstract class GridDhtPartitionsAbstractMessage extends GridCacheMessage {
@Override public String toString() {
return S.toString(GridDhtPartitionsAbstractMessage.class, this, super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index 74237f8..83867f4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -372,7 +372,8 @@ public class GridDhtPreloader extends GridCachePreloaderAdapter {
GridDhtForceKeysResponse res = new GridDhtForceKeysResponse(
cctx.cacheId(),
msg.futureId(),
- msg.miniId());
+ msg.miniId(),
+ cctx.deploymentEnabled());
for (KeyCacheObject k : msg.keys()) {
int p = cctx.affinity().partition(k);
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 d9763f8..eca2f71 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
@@ -410,7 +410,8 @@ public final class GridNearGetFuture<K, V> extends GridCompoundIdentityFuture<Ma
subjId,
taskName == null ? 0 : taskName.hashCode(),
expiryPlc != null ? expiryPlc.forAccess() : -1L,
- skipVals);
+ skipVals,
+ cctx.deploymentEnabled());
add(fut); // Append new future.
@@ -947,4 +948,4 @@ public final class GridNearGetFuture<K, V> extends GridCompoundIdentityFuture<Ma
return S.toString(MiniFuture.class, this);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 9bd2a68..ff6375a 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
@@ -116,6 +116,7 @@ public class GridNearGetRequest extends GridCacheMessage implements GridCacheDep
* @param subjId Subject ID.
* @param taskNameHash Task name hash.
* @param accessTtl New TTL to set after entry is accessed, -1 to leave unchanged.
+ * @param addDepInfo Deployment info.
*/
public GridNearGetRequest(
int cacheId,
@@ -129,7 +130,8 @@ public class GridNearGetRequest extends GridCacheMessage implements GridCacheDep
UUID subjId,
int taskNameHash,
long accessTtl,
- boolean skipVals
+ boolean skipVals,
+ boolean addDepInfo
) {
assert futId != null;
assert miniId != null;
@@ -149,6 +151,7 @@ public class GridNearGetRequest extends GridCacheMessage implements GridCacheDep
this.taskNameHash = taskNameHash;
this.accessTtl = accessTtl;
this.skipVals = skipVals;
+ this.addDepInfo = addDepInfo;
}
/**
@@ -272,6 +275,11 @@ public class GridNearGetRequest extends GridCacheMessage implements GridCacheDep
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -490,4 +498,4 @@ public class GridNearGetRequest extends GridCacheMessage implements GridCacheDep
@Override public String toString() {
return S.toString(GridNearGetRequest.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 d4493a2..fc06ab1 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
@@ -90,12 +90,14 @@ public class GridNearGetResponse extends GridCacheMessage implements GridCacheDe
* @param futId Future ID.
* @param miniId Sub ID.
* @param ver Version.
+ * @param addDepInfo Deployment info.
*/
public GridNearGetResponse(
int cacheId,
IgniteUuid futId,
IgniteUuid miniId,
- GridCacheVersion ver
+ GridCacheVersion ver,
+ boolean addDepInfo
) {
assert futId != null;
assert miniId != null;
@@ -105,6 +107,7 @@ public class GridNearGetResponse extends GridCacheMessage implements GridCacheDe
this.futId = futId;
this.miniId = miniId;
this.ver = ver;
+ this.addDepInfo = addDepInfo;
}
/**
@@ -207,6 +210,11 @@ public class GridNearGetResponse extends GridCacheMessage implements GridCacheDe
}
/** {@inheritDoc} */
+ @Override public boolean addDeploymentInfo() {
+ return addDepInfo;
+ }
+
+ /** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
writer.setBuffer(buf);
@@ -354,4 +362,4 @@ public class GridNearGetResponse extends GridCacheMessage implements GridCacheDe
@Override public String toString() {
return S.toString(GridNearGetResponse.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
index e6b1e02..c5b55bd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
@@ -968,7 +968,8 @@ public final class GridNearLockFuture extends GridCompoundIdentityFuture<Boolean
inTx() ? tx.taskNameHash() : 0,
read ? accessTtl : -1L,
skipStore,
- clientFirst);
+ clientFirst,
+ cctx.deploymentEnabled());
mapping.request(req);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java
index 25ab297..165da84 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockRequest.java
@@ -121,6 +121,7 @@ public class GridNearLockRequest extends GridDistributedLockRequest {
* @param accessTtl TTL for read operation.
* @param skipStore Skip store flag.
* @param firstClientReq {@code True} if first lock request for lock operation sent from client node.
+ * @param addDepInfo Deployment info flag.
*/
public GridNearLockRequest(
int cacheId,
@@ -144,7 +145,9 @@ public class GridNearLockRequest extends GridDistributedLockRequest {
int taskNameHash,
long accessTtl,
boolean skipStore,
- boolean firstClientReq
+ boolean firstClientReq,
+ boolean addDepInfo
+
) {
super(
cacheId,
@@ -160,7 +163,8 @@ public class GridNearLockRequest extends GridDistributedLockRequest {
timeout,
keyCnt,
txSize,
- skipStore);
+ skipStore,
+ addDepInfo);
assert topVer.compareTo(AffinityTopologyVersion.ZERO) > 0;
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockResponse.java
index 581061c..e48a098 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockResponse.java
@@ -79,6 +79,7 @@ public class GridNearLockResponse extends GridDistributedLockResponse {
* @param cnt Count.
* @param err Error.
* @param clientRemapVer {@code True} if client node should remap lock request.
+ * @param addDepInfo Deployment info.
*/
public GridNearLockResponse(
int cacheId,
@@ -88,9 +89,10 @@ public class GridNearLockResponse extends GridDistributedLockResponse {
boolean filterRes,
int cnt,
Throwable err,
- AffinityTopologyVersion clientRemapVer
+ AffinityTopologyVersion clientRemapVer,
+ boolean addDepInfo
) {
- super(cacheId, lockVer, futId, cnt, err);
+ super(cacheId, lockVer, futId, cnt, err, addDepInfo);
assert miniId != null;
@@ -325,4 +327,4 @@ public class GridNearLockResponse extends GridDistributedLockResponse {
@Override public String toString() {
return S.toString(GridNearLockResponse.class, this, super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
index 1fb33a2..6db00ab 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
@@ -588,7 +588,8 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearTxPrepareFutureAd
m.explicitLock(),
tx.subjectId(),
tx.taskNameHash(),
- m.clientFirst());
+ m.clientFirst(),
+ tx.activeCachesDeploymentEnabled());
for (IgniteTxEntry txEntry : m.writes()) {
if (txEntry.op() == TRANSFORM)
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
index b8d2250..62f9bb3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
@@ -207,7 +207,8 @@ public class GridNearPessimisticTxPrepareFuture extends GridNearTxPrepareFutureA
m.explicitLock(),
tx.subjectId(),
tx.taskNameHash(),
- false);
+ false,
+ tx.activeCachesDeploymentEnabled());
for (IgniteTxEntry txEntry : m.writes()) {
if (txEntry.op() == TRANSFORM)
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
index e70c864..c3bb324 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
@@ -554,7 +554,8 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
GridNearUnlockRequest req = map.get(primary);
if (req == null) {
- map.put(primary, req = new GridNearUnlockRequest(ctx.cacheId(), keyCnt));
+ map.put(primary, req = new GridNearUnlockRequest(ctx.cacheId(), keyCnt,
+ ctx.deploymentEnabled()));
req.version(ver);
}
@@ -676,7 +677,8 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
req = map.get(primary);
if (req == null) {
- map.put(primary, req = new GridNearUnlockRequest(ctx.cacheId(), keyCnt));
+ map.put(primary, req = new GridNearUnlockRequest(ctx.cacheId(), keyCnt,
+ ctx.deploymentEnabled()));
req.version(ver);
}
@@ -740,4 +742,4 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
@Override public String toString() {
return S.toString(GridNearTransactionalCache.class, this);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
index 85311cc..1a4f130 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
@@ -452,7 +452,8 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
null,
0,
null,
- 0);
+ 0,
+ tx.activeCachesDeploymentEnabled());
finishReq.checkCommitted(true);
@@ -574,7 +575,8 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
null,
tx.size(),
tx.subjectId(),
- tx.taskNameHash()
+ tx.taskNameHash(),
+ tx.activeCachesDeploymentEnabled()
);
// If this is the primary node for the keys.
@@ -764,4 +766,4 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
return S.toString(MiniFuture.class, this, "done", isDone(), "cancelled", isCancelled(), "err", error());
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
index c52a127..3e5e28f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
@@ -77,6 +77,7 @@ public class GridNearTxFinishRequest extends GridDistributedTxFinishRequest {
* @param committedVers Committed versions.
* @param rolledbackVers Rolled back versions.
* @param txSize Expected transaction size.
+ * @param addDepInfo Deployment info flag.
*/
public GridNearTxFinishRequest(
IgniteUuid futId,
@@ -96,7 +97,8 @@ public class GridNearTxFinishRequest extends GridDistributedTxFinishRequest {
Collection<GridCacheVersion> rolledbackVers,
int txSize,
@Nullable UUID subjId,
- int taskNameHash) {
+ int taskNameHash,
+ boolean addDepInfo) {
super(
xidVer,
futId,
@@ -111,7 +113,8 @@ public class GridNearTxFinishRequest extends GridDistributedTxFinishRequest {
baseVer,
committedVers,
rolledbackVers,
- txSize
+ txSize,
+ addDepInfo
);
this.explicitLock = explicitLock;
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishResponse.java
index c860baa..4904ad8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishResponse.java
@@ -203,4 +203,4 @@ public class GridNearTxFinishResponse extends GridDistributedTxFinishResponse {
@Override public String toString() {
return S.toString(GridNearTxFinishResponse.class, this, "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
index 2b3ddff..456d726 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
@@ -107,6 +107,7 @@ public class GridNearTxPrepareRequest extends GridDistributedTxPrepareRequest {
* @param subjId Subject ID.
* @param taskNameHash Task name hash.
* @param firstClientReq {@code True} if first optimistic tx prepare request sent from client node.
+ * @param addDepInfo Deployment info flag.
*/
public GridNearTxPrepareRequest(
IgniteUuid futId,
@@ -124,9 +125,10 @@ public class GridNearTxPrepareRequest extends GridDistributedTxPrepareRequest {
boolean explicitLock,
@Nullable UUID subjId,
int taskNameHash,
- boolean firstClientReq
+ boolean firstClientReq,
+ boolean addDepInfo
) {
- super(tx, reads, writes, txNodes, onePhaseCommit);
+ super(tx, reads, writes, txNodes, onePhaseCommit, addDepInfo);
assert futId != null;
assert !firstClientReq || tx.optimistic() : tx;
@@ -492,4 +494,4 @@ public class GridNearTxPrepareRequest extends GridDistributedTxPrepareRequest {
@Override public String toString() {
return S.toString(GridNearTxPrepareRequest.class, this, super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/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 6558f97..d886243 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
@@ -115,6 +115,7 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
* @param retVal Return value.
* @param err Error.
* @param clientRemapVer Not {@code null} if client node should remap transaction.
+ * @param addDepInfo Deployment info flag.
*/
public GridNearTxPrepareResponse(
GridCacheVersion xid,
@@ -124,9 +125,10 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
GridCacheVersion writeVer,
GridCacheReturn retVal,
Throwable err,
- AffinityTopologyVersion clientRemapVer
+ AffinityTopologyVersion clientRemapVer,
+ boolean addDepInfo
) {
- super(xid, err);
+ super(xid, err, addDepInfo);
assert futId != null;
assert miniId != null;
@@ -543,4 +545,4 @@ public class GridNearTxPrepareResponse extends GridDistributedTxPrepareResponse
return S.toString(GridNearTxPrepareResponse.class, this, "super", super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearUnlockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearUnlockRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearUnlockRequest.java
index 821d504..7652a4a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearUnlockRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearUnlockRequest.java
@@ -41,9 +41,10 @@ public class GridNearUnlockRequest extends GridDistributedUnlockRequest {
/**
* @param cacheId Cache ID.
* @param keyCnt Key count.
+ * @param addDepInfo Deployment info flag.
*/
- public GridNearUnlockRequest(int cacheId, int keyCnt) {
- super(cacheId, keyCnt);
+ public GridNearUnlockRequest(int cacheId, int keyCnt, boolean addDepInfo) {
+ super(cacheId, keyCnt, addDepInfo);
}
/** {@inheritDoc} */
@@ -90,4 +91,4 @@ public class GridNearUnlockRequest extends GridDistributedUnlockRequest {
@Override public String toString() {
return S.toString(GridNearUnlockRequest.class, this, super.toString());
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
index d064601..d5916e3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
@@ -41,13 +41,15 @@ public class CacheObjectPortableContext extends CacheObjectContext {
* @param portableEnabled Portable enabled flag.
* @param cpyOnGet Copy on get flag.
* @param storeVal {@code True} if should store unmarshalled value in cache.
+ * @param depEnabled {@code true} if deployment is enabled for the given cache.
*/
public CacheObjectPortableContext(GridKernalContext kernalCtx,
boolean cpyOnGet,
boolean storeVal,
- boolean portableEnabled) {
+ boolean portableEnabled,
+ boolean depEnabled) {
super(kernalCtx, portableEnabled ? new CacheDefaultPortableAffinityKeyMapper() :
- new GridCacheDefaultAffinityKeyMapper(), cpyOnGet, storeVal);
+ new GridCacheDefaultAffinityKeyMapper(), cpyOnGet, storeVal, depEnabled);
this.portableEnabled = portableEnabled;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
index 4cab3db..2de9d84 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableProcessorImpl.java
@@ -704,7 +704,8 @@ public class CacheObjectPortableProcessorImpl extends IgniteCacheObjectProcessor
CacheObjectContext res = new CacheObjectPortableContext(ctx,
ctx0.copyOnGet(),
ctx0.storeValue(),
- portableEnabled);
+ portableEnabled,
+ ctx0.addDeploymentInfo());
ctx.resource().injectGeneric(res.defaultAffMapper());
@@ -1022,4 +1023,4 @@ public class CacheObjectPortableProcessorImpl extends IgniteCacheObjectProcessor
return S.toString(MetaDataPredicate.class, this);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/df931bd0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryFuture.java
index e745e30..6110e0c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryFuture.java
@@ -102,7 +102,8 @@ public class GridCacheDistributedQueryFuture<K, V, R> extends GridCacheQueryFutu
final GridCacheQueryRequest req = new GridCacheQueryRequest(cctx.cacheId(),
reqId,
fields(),
- qryMgr.queryTopologyVersion());
+ qryMgr.queryTopologyVersion(),
+ cctx.deploymentEnabled());
// Process cancel query directly (without sending) for local node,
cctx.closures().callLocalSafe(new Callable<Object>() {
@@ -275,4 +276,4 @@ public class GridCacheDistributedQueryFuture<K, V, R> extends GridCacheQueryFutu
qryMgr.removeQueryFuture(reqId);
}
-}
\ No newline at end of file
+}