You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/05/17 16:03:32 UTC
[9/9] ignite git commit: ignite-5075
ignite-5075
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/194446dd
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/194446dd
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/194446dd
Branch: refs/heads/ignite-5075-cacheStart
Commit: 194446dd87b454eea501c042909b58bc9be2eb72
Parents: 11fc7ca
Author: sboikov <sb...@gridgain.com>
Authored: Wed May 17 19:03:13 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed May 17 19:03:13 2017 +0300
----------------------------------------------------------------------
.../cache/CacheAffinitySharedManager.java | 60 ++++++++++----------
.../CacheClientReconnectDiscoveryData.java | 11 ++--
.../processors/cache/ClusterCachesInfo.java | 37 ++++++------
.../cache/DynamicCacheDescriptor.java | 12 ++--
.../processors/cache/ExchangeActions.java | 25 +++++---
.../processors/cache/GridCacheProcessor.java | 23 ++++----
.../CacheDiscoveryDataConcurrentJoinTest.java | 13 ++---
.../testsuites/IgniteCacheTestSuite4.java | 16 +++++-
8 files changed, 110 insertions(+), 87 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/194446dd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
index cdc83ec..f53ff07 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheAffinitySharedManager.java
@@ -49,7 +49,6 @@ import org.apache.ignite.internal.util.future.GridFinishedFuture;
import org.apache.ignite.internal.util.future.GridFutureAdapter;
import org.apache.ignite.internal.util.lang.IgniteInClosureX;
import org.apache.ignite.internal.util.typedef.F;
-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.U;
import org.apache.ignite.lang.IgniteBiInClosure;
@@ -323,31 +322,29 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
* @param exchActions Cache change requests to execute on exchange.
*/
private void updateCachesInfo(ExchangeActions exchActions) {
- for (ExchangeActions.ActionData action : exchActions.stopRequests()) {
+ for (ExchangeActions.ActionData action : exchActions.cacheStopRequests()) {
DynamicCacheDescriptor desc = registeredCaches.remove(action.descriptor().cacheId());
assert desc != null : action.request().cacheName();
}
- for (ExchangeActions.ActionData action : exchActions.newAndClientCachesStartRequests()) {
+ for (ExchangeActions.ActionData action : exchActions.cacheStartRequests()) {
DynamicCacheChangeRequest req = action.request();
- if (!req.clientStartOnly()) {
- Integer cacheId = CU.cacheId(req.cacheName());
+ Integer cacheId = action.descriptor().cacheId();
- DynamicCacheDescriptor desc = new DynamicCacheDescriptor(cctx.kernalContext(),
- req.startCacheConfiguration(),
- req.cacheType(),
- false,
- action.descriptor().receivedFrom(),
- action.descriptor().staticallyConfigured(),
- req.deploymentId(),
- req.schema());
+ DynamicCacheDescriptor desc = new DynamicCacheDescriptor(cctx.kernalContext(),
+ req.startCacheConfiguration(),
+ req.cacheType(),
+ false,
+ action.descriptor().receivedFrom(),
+ action.descriptor().staticallyConfigured(),
+ req.deploymentId(),
+ req.schema());
- DynamicCacheDescriptor old = registeredCaches.put(cacheId, desc);
+ DynamicCacheDescriptor old = registeredCaches.put(cacheId, desc);
- assert old == null : old;
- }
+ assert old == null : old;
}
}
@@ -417,6 +414,8 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
if (clientCacheStarted)
initAffinity(cacheDesc, cacheCtx.affinity().affinityCache(), fut, lateAffAssign);
else if (!req.clientStartOnly()) {
+ assert fut.topologyVersion().equals(cacheCtx.startTopologyVersion());
+
GridAffinityAssignmentCache aff = cacheCtx.affinity().affinityCache();
assert aff.lastVersion().equals(AffinityTopologyVersion.NONE) : aff.lastVersion();
@@ -458,7 +457,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
Set<Integer> stoppedCaches = null;
- for (ExchangeActions.ActionData action : exchActions.stopRequests()) {
+ for (ExchangeActions.ActionData action : exchActions.cacheStopRequests()) {
DynamicCacheDescriptor desc = action.descriptor();
cctx.cache().blockGateway(action.request());
@@ -689,7 +688,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
});
}
else
- initCachesAffinity(fut);
+ initAffinityNoLateAssignment(fut);
}
}
@@ -799,7 +798,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
}
/**
- * Initialized affinity started on this exchange.
+ * Initialized affinity for cache received from node joining on this exchange.
*
* @param crd Coordinator flag.
* @param fut Exchange future.
@@ -850,7 +849,9 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
GridDhtPartitionsExchangeFuture fut,
boolean fetch)
throws IgniteCheckedException {
- if (!fetch && canCalculateAffinity(aff, fut)) {
+ assert desc != null;
+
+ if (!fetch && canCalculateAffinity(desc, aff, fut)) {
List<List<ClusterNode>> assignment = aff.calculate(fut.topologyVersion(), fut.discoveryEvent(), fut.discoCache());
aff.initialize(fut.topologyVersion(), assignment);
@@ -868,11 +869,16 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
}
/**
+ * @param desc Cache descriptor.
* @param aff Affinity.
* @param fut Exchange future.
* @return {@code True} if local node can calculate affinity on it's own for this partition map exchange.
*/
- private boolean canCalculateAffinity(GridAffinityAssignmentCache aff, GridDhtPartitionsExchangeFuture fut) {
+ private boolean canCalculateAffinity(DynamicCacheDescriptor desc,
+ GridAffinityAssignmentCache aff,
+ GridDhtPartitionsExchangeFuture fut) {
+ assert desc != null : aff.cacheName();
+
// Do not request affinity from remote nodes if affinity function is not centralized.
if (!aff.centralizedAffinityFunction())
return true;
@@ -880,11 +886,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
// If local node did not initiate exchange or local node is the only cache node in grid.
Collection<ClusterNode> affNodes = cctx.discovery().cacheAffinityNodes(aff.cacheId(), fut.topologyVersion());
- DynamicCacheDescriptor cacheDesc = registeredCaches.get(aff.cacheId());
-
- assert cacheDesc != null : aff.cacheName();
-
- return fut.cacheAddedOnExchange(aff.cacheId(), cacheDesc.receivedFrom()) ||
+ return fut.cacheAddedOnExchange(aff.cacheId(), desc.receivedFrom()) ||
!fut.exchangeId().nodeId().equals(cctx.localNodeId()) ||
(affNodes.size() == 1 && affNodes.contains(cctx.localNode()));
}
@@ -925,7 +927,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
waitRebalanceInfo = initAffinityOnNodeJoin(fut, crd);
}
else
- initCachesAffinity(fut);
+ initAffinityNoLateAssignment(fut);
synchronized (mux) {
affCalcVer = fut.topologyVersion();
@@ -1069,7 +1071,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
centralizedAff = true;
}
else {
- initCachesAffinity(fut);
+ initAffinityNoLateAssignment(fut);
centralizedAff = false;
}
@@ -1087,7 +1089,7 @@ public class CacheAffinitySharedManager<K, V> extends GridCacheSharedManagerAdap
* @param fut Exchange future.
* @throws IgniteCheckedException If failed.
*/
- private void initCachesAffinity(GridDhtPartitionsExchangeFuture fut) throws IgniteCheckedException {
+ private void initAffinityNoLateAssignment(GridDhtPartitionsExchangeFuture fut) throws IgniteCheckedException {
assert !lateAffAssign;
for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/194446dd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheClientReconnectDiscoveryData.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheClientReconnectDiscoveryData.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheClientReconnectDiscoveryData.java
index f970469..a30331f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheClientReconnectDiscoveryData.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheClientReconnectDiscoveryData.java
@@ -17,13 +17,12 @@
package org.apache.ignite.internal.processors.cache;
+import java.io.Serializable;
+import java.util.Map;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.lang.IgniteUuid;
-import java.io.Serializable;
-import java.util.Map;
-
/**
* Discovery data sent from client reconnecting to cluster.
*/
@@ -37,7 +36,7 @@ public class CacheClientReconnectDiscoveryData implements Serializable {
/**
* @param clientCaches Information about caches started on re-joining client node.
*/
- public CacheClientReconnectDiscoveryData(Map<String, CacheInfo> clientCaches) {
+ CacheClientReconnectDiscoveryData(Map<String, CacheInfo> clientCaches) {
this.clientCaches = clientCaches;
}
@@ -77,7 +76,7 @@ public class CacheClientReconnectDiscoveryData implements Serializable {
* @param nearCache Near cache flag.
* @param flags Flags (for future usage).
*/
- public CacheInfo(CacheConfiguration ccfg,
+ CacheInfo(CacheConfiguration ccfg,
CacheType cacheType,
IgniteUuid deploymentId,
boolean nearCache,
@@ -94,7 +93,7 @@ public class CacheClientReconnectDiscoveryData implements Serializable {
}
/**
- * @return Cache configuraiton.
+ * @return Cache configuration.
*/
CacheConfiguration config() {
return ccfg;
http://git-wip-us.apache.org/repos/asf/ignite/blob/194446dd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
index fad03bb..28ec600 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
@@ -17,9 +17,19 @@
package org.apache.ignite.internal.processors.cache;
+import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cache.CacheExistsException;
@@ -36,25 +46,13 @@ import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.spi.discovery.DiscoveryDataBag;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
import static org.apache.ignite.cache.CacheMode.LOCAL;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
import static org.apache.ignite.events.EventType.EVT_NODE_JOINED;
import static org.apache.ignite.internal.GridComponent.DiscoveryDataExchangeType.CACHE_PROC;
/**
- *
+ * Logic related to cache discovery date processing.
*/
class ClusterCachesInfo {
/** */
@@ -129,7 +127,8 @@ class ClusterCachesInfo {
* @param rmt Remote node.
* @throws IgniteCheckedException If check failed.
*/
- private void checkCache(CacheConfiguration locCfg, CacheConfiguration rmtCfg, UUID rmt) throws IgniteCheckedException {
+ private void checkCache(CacheConfiguration<?, ?> locCfg, CacheConfiguration<?, ?> rmtCfg, UUID rmt)
+ throws IgniteCheckedException {
GridCacheAttributes rmtAttr = new GridCacheAttributes(rmtCfg);
GridCacheAttributes locAttr = new GridCacheAttributes(locCfg);
@@ -277,7 +276,7 @@ class ClusterCachesInfo {
"client cache (a cache with the given name is not started): " + req.cacheName()));
}
else {
- CacheConfiguration ccfg = req.startCacheConfiguration();
+ CacheConfiguration<?, ?> ccfg = req.startCacheConfiguration();
assert req.cacheType() != null : req;
assert F.eq(ccfg.getName(), req.cacheName()) : req;
@@ -630,7 +629,7 @@ class ClusterCachesInfo {
}
for (CacheData cacheData : cachesData.caches().values()) {
- CacheConfiguration cfg = cacheData.cacheConfiguration();
+ CacheConfiguration<?, ?> cfg = cacheData.cacheConfiguration();
DynamicCacheDescriptor desc = new DynamicCacheDescriptor(
ctx,
@@ -683,7 +682,7 @@ class ClusterCachesInfo {
if (firstNode && !joinDiscoData.caches().containsKey(desc.cacheName()))
continue;
- CacheConfiguration cfg = desc.cacheConfiguration();
+ CacheConfiguration<?, ?> cfg = desc.cacheConfiguration();
CacheJoinNodeDiscoveryData.CacheInfo locCfg = joinDiscoData.caches().get(cfg.getName());
@@ -761,7 +760,7 @@ class ClusterCachesInfo {
*/
private void processJoiningNode(CacheJoinNodeDiscoveryData joinData, UUID nodeId) {
for (CacheJoinNodeDiscoveryData.CacheInfo cacheInfo : joinData.templates().values()) {
- CacheConfiguration cfg = cacheInfo.config();
+ CacheConfiguration<?, ?> cfg = cacheInfo.config();
if (!registeredTemplates.containsKey(cfg.getName())) {
DynamicCacheDescriptor desc = new DynamicCacheDescriptor(ctx,
@@ -780,7 +779,7 @@ class ClusterCachesInfo {
}
for (CacheJoinNodeDiscoveryData.CacheInfo cacheInfo : joinData.caches().values()) {
- CacheConfiguration cfg = cacheInfo.config();
+ CacheConfiguration<?, ?> cfg = cacheInfo.config();
if (!registeredCaches.containsKey(cfg.getName())) {
DynamicCacheDescriptor desc = new DynamicCacheDescriptor(ctx,
http://git-wip-us.apache.org/repos/asf/ignite/blob/194446dd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
index a9861b1..40d3706 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheDescriptor.java
@@ -98,6 +98,7 @@ public class DynamicCacheDescriptor {
* @param rcvdFrom ID of node provided cache configuration
* @param staticCfg {@code True} if cache statically configured.
* @param deploymentId Deployment ID.
+ * @param schema Query schema.
*/
@SuppressWarnings("unchecked")
public DynamicCacheDescriptor(GridKernalContext ctx,
@@ -188,6 +189,7 @@ public class DynamicCacheDescriptor {
* Creates and caches cache object context if needed.
*
* @param proc Object processor.
+ * @return Cache object context.
*/
public CacheObjectContext cacheObjectContext(IgniteCacheObjectProcessor proc) throws IgniteCheckedException {
if (objCtx == null) {
@@ -224,14 +226,14 @@ public class DynamicCacheDescriptor {
/**
* @return {@code True} if received in discovery data.
*/
- public boolean receivedOnDiscovery() {
+ boolean receivedOnDiscovery() {
return rcvdOnDiscovery;
}
/**
* @param rcvdOnDiscovery {@code True} if received in discovery data.
*/
- public void receivedOnDiscovery(boolean rcvdOnDiscovery) {
+ void receivedOnDiscovery(boolean rcvdOnDiscovery) {
this.rcvdOnDiscovery = rcvdOnDiscovery;
}
@@ -245,14 +247,14 @@ public class DynamicCacheDescriptor {
/**
* @return Topology version when node provided cache configuration was started.
*/
- @Nullable public AffinityTopologyVersion receivedFromStartVersion() {
+ @Nullable AffinityTopologyVersion receivedFromStartVersion() {
return rcvdFromVer;
}
/**
* @param rcvdFromVer Topology version when node provided cache configuration was started.
*/
- public void receivedFromStartVersion(AffinityTopologyVersion rcvdFromVer) {
+ void receivedFromStartVersion(AffinityTopologyVersion rcvdFromVer) {
this.rcvdFromVer = rcvdFromVer;
}
@@ -281,7 +283,7 @@ public class DynamicCacheDescriptor {
/**
* @param clientCacheStartVer Version when client cache on local node was started.
*/
- public void clientCacheStartVersion(AffinityTopologyVersion clientCacheStartVer) {
+ void clientCacheStartVersion(AffinityTopologyVersion clientCacheStartVer) {
this.clientCacheStartVer = clientCacheStartVer;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/194446dd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java
index 99fd29d..eac1120 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ExchangeActions.java
@@ -17,17 +17,16 @@
package org.apache.ignite.internal.processors.cache;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import org.apache.ignite.internal.util.typedef.F;
-
-import java.util.ArrayList;
-import java.util.List;
import org.jetbrains.annotations.Nullable;
/**
@@ -55,7 +54,7 @@ public class ExchangeActions {
/**
* @return {@code True} if server nodes should not participate in exchange.
*/
- public boolean clientOnlyExchange() {
+ boolean clientOnlyExchange() {
return F.isEmpty(cachesToStart) &&
F.isEmpty(cachesToStop) &&
F.isEmpty(cachesToResetLostParts);
@@ -65,7 +64,7 @@ public class ExchangeActions {
* @param nodeId Local node ID.
* @return Close cache requests.
*/
- public List<DynamicCacheChangeRequest> closeRequests(UUID nodeId) {
+ List<DynamicCacheChangeRequest> closeRequests(UUID nodeId) {
List<DynamicCacheChangeRequest> res = null;
if (cachesToClose != null) {
@@ -83,6 +82,13 @@ public class ExchangeActions {
}
/**
+ * @return New caches start requests.
+ */
+ Collection<ActionData> cacheStartRequests() {
+ return cachesToStart != null ? cachesToStart.values() : Collections.<ActionData>emptyList();
+ }
+
+ /**
* @return Start cache requests.
*/
Collection<ActionData> newAndClientCachesStartRequests() {
@@ -104,8 +110,8 @@ public class ExchangeActions {
/**
* @return Stop cache requests.
*/
- Collection<ActionData> stopRequests() {
- return cachesToStop != null ? cachesToStop.values() : Collections.EMPTY_LIST;
+ Collection<ActionData> cacheStopRequests() {
+ return cachesToStop != null ? cachesToStop.values() : Collections.<ActionData>emptyList();
}
/**
@@ -194,7 +200,10 @@ public class ExchangeActions {
return false;
}
- public void newClusterState(ClusterState state) {
+ /**
+ * @param state New cluster state.
+ */
+ void newClusterState(ClusterState state) {
assert state != null;
newState = state;
http://git-wip-us.apache.org/repos/asf/ignite/blob/194446dd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 9ebfc4e..06ad62d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -641,9 +641,9 @@ public class GridCacheProcessor extends GridProcessorAdapter {
Map<String, CacheJoinNodeDiscoveryData.CacheInfo> templates = new HashMap<>();
- registerCacheFromConfig(caches, templates);
+ addCacheOnJoinFromConfig(caches, templates);
- registerCacheFromPersistentStore(caches, templates);
+ addCacheOnJoinFromPersistentStore(caches, templates);
CacheJoinNodeDiscoveryData discoData = new CacheJoinNodeDiscoveryData(IgniteUuid.randomUuid(),
caches,
@@ -669,7 +669,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
* @param templates Templates map.
* @throws IgniteCheckedException If failed.
*/
- private void registerCache(CacheConfiguration cfg,
+ private void addCacheOnJoin(CacheConfiguration cfg,
Map<String, CacheJoinNodeDiscoveryData.CacheInfo> caches,
Map<String, CacheJoinNodeDiscoveryData.CacheInfo> templates) throws IgniteCheckedException {
CU.validateCacheName(cfg.getName());
@@ -717,7 +717,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
* @param templates Templates map.
* @throws IgniteCheckedException If failed.
*/
- private void registerCacheFromConfig(
+ private void addCacheOnJoinFromConfig(
Map<String, CacheJoinNodeDiscoveryData.CacheInfo> caches,
Map<String, CacheJoinNodeDiscoveryData.CacheInfo> templates
) throws IgniteCheckedException {
@@ -730,7 +730,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
cfgs[i] = cfg; // Replace original configuration value.
- registerCache(cfg, caches, templates);
+ addCacheOnJoin(cfg, caches, templates);
}
}
@@ -739,7 +739,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
* @param templates Templates map.
* @throws IgniteCheckedException If failed.
*/
- private void registerCacheFromPersistentStore(
+ private void addCacheOnJoinFromPersistentStore(
Map<String, CacheJoinNodeDiscoveryData.CacheInfo> caches,
Map<String, CacheJoinNodeDiscoveryData.CacheInfo> templates
) throws IgniteCheckedException {
@@ -760,7 +760,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
CacheConfiguration cfg = sharedCtx.pageStore().readConfiguration(name);
if (cfg != null)
- registerCache(cfg, caches, templates);
+ addCacheOnJoin(cfg, caches, templates);
}
}
}
@@ -791,12 +791,13 @@ public class GridCacheProcessor extends GridProcessorAdapter {
ClusterNode locNode = ctx.discovery().localNode();
try {
- boolean check = !ctx.config().isDaemon() && !getBoolean(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK);
+ boolean checkConsistency =
+ !ctx.config().isDaemon() && !getBoolean(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK);
- if (check)
+ if (checkConsistency)
checkConsistency();
- cachesInfo.onKernalStart(check);
+ cachesInfo.onKernalStart(checkConsistency);
boolean currStatus = ctx.state().active();
@@ -1917,7 +1918,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
if (exchActions != null && err == null) {
- for (ExchangeActions.ActionData action : exchActions.stopRequests()) {
+ for (ExchangeActions.ActionData action : exchActions.cacheStopRequests()) {
stopGateway(action.request());
prepareCacheStop(action.request());
http://git-wip-us.apache.org/repos/asf/ignite/blob/194446dd/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheDiscoveryDataConcurrentJoinTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheDiscoveryDataConcurrentJoinTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheDiscoveryDataConcurrentJoinTest.java
index 2f11c86..a80830a 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheDiscoveryDataConcurrentJoinTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheDiscoveryDataConcurrentJoinTest.java
@@ -17,6 +17,12 @@
package org.apache.ignite.internal.processors.cache.distributed;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ThreadLocalRandom;
+import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ignite.Ignite;
import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
import org.apache.ignite.cluster.ClusterNode;
@@ -32,13 +38,6 @@ import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryJoinRequestMessa
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ThreadLocalRandom;
-import java.util.concurrent.atomic.AtomicInteger;
-
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/194446dd/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
index 4a5d2d8..e423098 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
@@ -82,7 +82,19 @@ import org.apache.ignite.internal.processors.cache.IgniteStartCacheInTransaction
import org.apache.ignite.internal.processors.cache.IgniteStartCacheInTransactionSelfTest;
import org.apache.ignite.internal.processors.cache.IgniteSystemCacheOnClientTest;
import org.apache.ignite.internal.processors.cache.MarshallerCacheJobRunNodeRestartTest;
-import org.apache.ignite.internal.processors.cache.distributed.*;
+import org.apache.ignite.internal.processors.cache.distributed.CacheAffinityEarlyTest;
+import org.apache.ignite.internal.processors.cache.distributed.CacheAtomicPrimarySyncBackPressureTest;
+import org.apache.ignite.internal.processors.cache.distributed.CacheDiscoveryDataConcurrentJoinTest;
+import org.apache.ignite.internal.processors.cache.distributed.CacheGetFutureHangsSelfTest;
+import org.apache.ignite.internal.processors.cache.distributed.CacheNoValueClassOnServerNodeTest;
+import org.apache.ignite.internal.processors.cache.distributed.CacheStartOnJoinTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheCreatePutMultiNodeSelfTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheCreatePutTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteCachePrimarySyncTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheReadFromBackupTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheSingleGetMessageTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteTxCachePrimarySyncTest;
+import org.apache.ignite.internal.processors.cache.distributed.IgniteTxCacheWriteSynchronizationModesMultithreadedTest;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridCacheDhtTxPreloadSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.dht.IgniteCacheLockFailoverSelfTest;
import org.apache.ignite.internal.processors.cache.distributed.dht.IgniteCacheMultiTxLockSelfTest;
@@ -200,7 +212,6 @@ public class IgniteCacheTestSuite4 extends TestSuite {
suite.addTestSuite(IgniteCacheTxPreloadNoWriteTest.class);
- suite.addTestSuite(IgniteCacheStartTest.class);
suite.addTestSuite(IgniteDynamicCacheStartSelfTest.class);
suite.addTestSuite(IgniteDynamicCacheWithConfigStartSelfTest.class);
suite.addTestSuite(IgniteCacheDynamicStopSelfTest.class);
@@ -213,6 +224,7 @@ public class IgniteCacheTestSuite4 extends TestSuite {
suite.addTestSuite(IgniteCacheCreatePutMultiNodeSelfTest.class);
suite.addTestSuite(IgniteCacheCreatePutTest.class);
suite.addTestSuite(CacheStartOnJoinTest.class);
+ suite.addTestSuite(IgniteCacheStartTest.class);
suite.addTestSuite(CacheDiscoveryDataConcurrentJoinTest.class);
suite.addTestSuite(GridCacheTxLoadFromStoreOnLockSelfTest.class);