Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 6E9D1200C8B for ; Thu, 27 Apr 2017 09:13:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 6D6C6160BBD; Thu, 27 Apr 2017 07:13:23 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3BAB4160BCA for ; Thu, 27 Apr 2017 09:13:20 +0200 (CEST) Received: (qmail 89616 invoked by uid 500); 27 Apr 2017 07:13:19 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 88643 invoked by uid 99); 27 Apr 2017 07:13:17 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 27 Apr 2017 07:13:17 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id A3F85E0898; Thu, 27 Apr 2017 07:13:17 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: agoncharuk@apache.org To: commits@ignite.apache.org Date: Thu, 27 Apr 2017 07:13:39 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [23/36] ignite git commit: IGNITE-3488: Prohibited null as cache name. This closes #1790. archived-at: Thu, 27 Apr 2017 07:13:23 -0000 http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/IgniteComputeImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComputeImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComputeImpl.java index 7ddd4ad..034a26a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComputeImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComputeImpl.java @@ -38,6 +38,7 @@ import org.apache.ignite.internal.cluster.ClusterGroupAdapter; import org.apache.ignite.internal.managers.deployment.GridDeployment; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.A; +import org.apache.ignite.internal.util.typedef.internal.CU; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteCallable; import org.apache.ignite.lang.IgniteClosure; @@ -136,7 +137,9 @@ public class IgniteComputeImpl extends AsyncSupportAdapter } /** {@inheritDoc} */ - @Override public void affinityRun(@Nullable String cacheName, Object affKey, IgniteRunnable job) { + @Override public void affinityRun(String cacheName, Object affKey, IgniteRunnable job) { + CU.validateCacheName(cacheName); + try { saveOrGet(affinityRunAsync0(cacheName, affKey, job)); } @@ -146,8 +149,10 @@ public class IgniteComputeImpl extends AsyncSupportAdapter } /** {@inheritDoc} */ - @Override public IgniteFuture affinityRunAsync(@Nullable String cacheName, Object affKey, + @Override public IgniteFuture affinityRunAsync(String cacheName, Object affKey, IgniteRunnable job) throws IgniteException { + CU.validateCacheName(cacheName); + return (IgniteFuture)createFuture(affinityRunAsync0(cacheName, affKey, job)); } @@ -159,7 +164,7 @@ public class IgniteComputeImpl extends AsyncSupportAdapter * @param job Job. * @return Internal future. */ - private IgniteInternalFuture affinityRunAsync0(@Nullable String cacheName, Object affKey, IgniteRunnable job) { + private IgniteInternalFuture affinityRunAsync0(String cacheName, Object affKey, IgniteRunnable job) { A.notNull(affKey, "affKey"); A.notNull(job, "job"); @@ -186,6 +191,8 @@ public class IgniteComputeImpl extends AsyncSupportAdapter /** {@inheritDoc} */ @Override public void affinityRun(@NotNull Collection cacheNames, Object affKey, IgniteRunnable job) { + CU.validateCacheNames(cacheNames); + try { saveOrGet(affinityRunAsync0(cacheNames, affKey, job)); } @@ -197,6 +204,8 @@ public class IgniteComputeImpl extends AsyncSupportAdapter /** {@inheritDoc} */ @Override public IgniteFuture affinityRunAsync(@NotNull Collection cacheNames, Object affKey, IgniteRunnable job) throws IgniteException { + CU.validateCacheNames(cacheNames); + return (IgniteFuture)createFuture(affinityRunAsync0(cacheNames, affKey, job)); } @@ -239,6 +248,8 @@ public class IgniteComputeImpl extends AsyncSupportAdapter /** {@inheritDoc} */ @Override public void affinityRun(@NotNull Collection cacheNames, int partId, IgniteRunnable job) { + CU.validateCacheNames(cacheNames); + try { saveOrGet(affinityRunAsync0(cacheNames, partId, job)); } @@ -250,6 +261,8 @@ public class IgniteComputeImpl extends AsyncSupportAdapter /** {@inheritDoc} */ @Override public IgniteFuture affinityRunAsync(@NotNull Collection cacheNames, int partId, IgniteRunnable job) throws IgniteException { + CU.validateCacheNames(cacheNames); + return (IgniteFuture)createFuture(affinityRunAsync0(cacheNames, partId, job)); } @@ -281,7 +294,9 @@ public class IgniteComputeImpl extends AsyncSupportAdapter } /** {@inheritDoc} */ - @Override public R affinityCall(@Nullable String cacheName, Object affKey, IgniteCallable job) { + @Override public R affinityCall(String cacheName, Object affKey, IgniteCallable job) { + CU.validateCacheName(cacheName); + try { return saveOrGet(affinityCallAsync0(cacheName, affKey, job)); } @@ -291,8 +306,10 @@ public class IgniteComputeImpl extends AsyncSupportAdapter } /** {@inheritDoc} */ - @Override public IgniteFuture affinityCallAsync(@Nullable String cacheName, Object affKey, + @Override public IgniteFuture affinityCallAsync(String cacheName, Object affKey, IgniteCallable job) throws IgniteException { + CU.validateCacheName(cacheName); + return createFuture(affinityCallAsync0(cacheName, affKey, job)); } @@ -304,7 +321,7 @@ public class IgniteComputeImpl extends AsyncSupportAdapter * @param job Job. * @return Internal future. */ - private IgniteInternalFuture affinityCallAsync0(@Nullable String cacheName, Object affKey, + private IgniteInternalFuture affinityCallAsync0(String cacheName, Object affKey, IgniteCallable job) { A.notNull(affKey, "affKey"); A.notNull(job, "job"); @@ -332,6 +349,8 @@ public class IgniteComputeImpl extends AsyncSupportAdapter /** {@inheritDoc} */ @Override public R affinityCall(@NotNull Collection cacheNames, Object affKey, IgniteCallable job) { + CU.validateCacheNames(cacheNames); + try { return saveOrGet(affinityCallAsync0(cacheNames, affKey, job)); } @@ -343,6 +362,8 @@ public class IgniteComputeImpl extends AsyncSupportAdapter /** {@inheritDoc} */ @Override public IgniteFuture affinityCallAsync(@NotNull Collection cacheNames, Object affKey, IgniteCallable job) throws IgniteException { + CU.validateCacheNames(cacheNames); + return createFuture(affinityCallAsync0(cacheNames, affKey, job)); } @@ -385,6 +406,8 @@ public class IgniteComputeImpl extends AsyncSupportAdapter /** {@inheritDoc} */ @Override public R affinityCall(@NotNull Collection cacheNames, int partId, IgniteCallable job) { + CU.validateCacheNames(cacheNames); + try { return saveOrGet(affinityCallAsync0(cacheNames, partId, job)); } @@ -396,6 +419,8 @@ public class IgniteComputeImpl extends AsyncSupportAdapter /** {@inheritDoc} */ @Override public IgniteFuture affinityCallAsync(@NotNull Collection cacheNames, int partId, IgniteCallable job) throws IgniteException { + CU.validateCacheNames(cacheNames); + return createFuture(affinityCallAsync0(cacheNames, partId, job)); } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java index 164839e..421d6f9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java @@ -48,17 +48,7 @@ public interface IgniteEx extends Ignite { * @param name Cache name. * @return Cache instance for given name or null if one does not exist. */ - @Nullable public IgniteInternalCache cachex(@Nullable String name); - - /** - * Gets default cache instance if one is configured or null otherwise returning even non-public caches. - * The {@link IgniteInternalCache#name()} method on default instance returns null. - * - * @param Key type. - * @param Value type. - * @return Default cache instance. - */ - @Nullable public IgniteInternalCache cachex(); + @Nullable public IgniteInternalCache cachex(String name); /** * Gets configured cache instance that satisfy all provided predicates including non-public caches. If no http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java index 12a7af6..f0bf29b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java @@ -2283,27 +2283,14 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** * USED ONLY FOR TESTING. * - * @param Key type. - * @param Value type. - * @return Internal cache instance. - */ - /*@java.test.only*/ - public GridCacheAdapter internalCache() { - checkClusterState(); - - return internalCache(null); - } - - /** - * USED ONLY FOR TESTING. - * * @param name Cache name. * @param Key type. * @param Value type. * @return Internal cache instance. */ /*@java.test.only*/ - public GridCacheAdapter internalCache(@Nullable String name) { + public GridCacheAdapter internalCache(String name) { + CU.validateCacheName(name); checkClusterState(); return ctx.cache().internalCache(name); @@ -2690,7 +2677,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { * @param name Cache name. * @return Cache. */ - public IgniteInternalCache getCache(@Nullable String name) { + public IgniteInternalCache getCache(String name) { + CU.validateCacheName(name); + guard(); try { @@ -2704,7 +2693,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { } /** {@inheritDoc} */ - @Override public IgniteCache cache(@Nullable String name) { + @Override public IgniteCache cache(String name) { + CU.validateCacheName(name); + guard(); try { @@ -2723,6 +2714,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public IgniteCache createCache(CacheConfiguration cacheCfg) { A.notNull(cacheCfg, "cacheCfg"); + CU.validateCacheName(cacheCfg.getName()); guard(); @@ -2750,6 +2742,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public Collection createCaches(Collection cacheCfgs) { A.notNull(cacheCfgs, "cacheCfgs"); + CU.validateConfigurationCacheNames(cacheCfgs); guard(); @@ -2775,6 +2768,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public IgniteCache createCache(String cacheName) { + CU.validateCacheName(cacheName); + guard(); try { @@ -2795,6 +2790,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public IgniteCache getOrCreateCache(CacheConfiguration cacheCfg) { A.notNull(cacheCfg, "cacheCfg"); + CU.validateCacheName(cacheCfg.getName()); guard(); @@ -2823,6 +2819,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public Collection getOrCreateCaches(Collection cacheCfgs) { A.notNull(cacheCfgs, "cacheCfgs"); + CU.validateConfigurationCacheNames(cacheCfgs); guard(); @@ -2852,6 +2849,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { NearCacheConfiguration nearCfg ) { A.notNull(cacheCfg, "cacheCfg"); + CU.validateCacheName(cacheCfg.getName()); A.notNull(nearCfg, "nearCfg"); guard(); @@ -2880,6 +2878,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { @Override public IgniteCache getOrCreateCache(CacheConfiguration cacheCfg, NearCacheConfiguration nearCfg) { A.notNull(cacheCfg, "cacheCfg"); + CU.validateCacheName(cacheCfg.getName()); A.notNull(nearCfg, "nearCfg"); guard(); @@ -2920,6 +2919,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public IgniteCache createNearCache(String cacheName, NearCacheConfiguration nearCfg) { + CU.validateCacheName(cacheName); A.notNull(nearCfg, "nearCfg"); guard(); @@ -2949,8 +2949,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { } /** {@inheritDoc} */ - @Override public IgniteCache getOrCreateNearCache(@Nullable String cacheName, + @Override public IgniteCache getOrCreateNearCache(String cacheName, NearCacheConfiguration nearCfg) { + CU.validateCacheName(cacheName); A.notNull(nearCfg, "nearCfg"); guard(); @@ -3005,6 +3006,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public void destroyCache(String cacheName) { + CU.validateCacheName(cacheName); + IgniteInternalFuture stopFut = destroyCacheAsync(cacheName, true); try { @@ -3017,6 +3020,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public void destroyCaches(Collection cacheNames) { + CU.validateCacheNames(cacheNames); + IgniteInternalFuture stopFut = destroyCachesAsync(cacheNames, true); try { @@ -3033,6 +3038,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { * @return Ignite future. */ public IgniteInternalFuture destroyCacheAsync(String cacheName, boolean checkThreadTx) { + CU.validateCacheName(cacheName); + guard(); try { @@ -3051,6 +3058,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { * @return Ignite future. */ public IgniteInternalFuture destroyCachesAsync(Collection cacheNames, boolean checkThreadTx) { + CU.validateCacheNames(cacheNames); + guard(); try { @@ -3063,6 +3072,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public IgniteCache getOrCreateCache(String cacheName) { + CU.validateCacheName(cacheName); + guard(); try { @@ -3087,6 +3098,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { * @return Future that will be completed when cache is deployed. */ public IgniteInternalFuture getOrCreateCacheAsync(String cacheName, boolean checkThreadTx) { + CU.validateCacheName(cacheName); + guard(); try { @@ -3105,6 +3118,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public void addCacheConfiguration(CacheConfiguration cacheCfg) { A.notNull(cacheCfg, "cacheCfg"); + CU.validateCacheName(cacheCfg.getName()); guard(); @@ -3166,27 +3180,15 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { } /** {@inheritDoc} */ - @Override public IgniteInternalCache cachex(@Nullable String name) { - guard(); - - try { - checkClusterState(); + @Override public IgniteInternalCache cachex(String name) { + CU.validateCacheName(name); - return ctx.cache().cache(name); - } - finally { - unguard(); - } - } - - /** {@inheritDoc} */ - @Override public IgniteInternalCache cachex() { guard(); try { checkClusterState(); - return ctx.cache().cache(); + return ctx.cache().cache(name); } finally { unguard(); @@ -3209,7 +3211,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { } /** {@inheritDoc} */ - @Override public IgniteDataStreamer dataStreamer(@Nullable String cacheName) { + @Override public IgniteDataStreamer dataStreamer(String cacheName) { + CU.validateCacheName(cacheName); + guard(); try { @@ -3337,8 +3341,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { Ignition.stop(igniteInstanceName, true); } - /** {@inheritDoc} */ @Override public Affinity affinity(String cacheName) { + CU.validateCacheName(cacheName); checkClusterState(); GridCacheAdapter cache = ctx.cache().internalCache(cacheName); @@ -3378,6 +3382,8 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable { /** {@inheritDoc} */ @Override public void resetLostPartitions(Collection cacheNames) { + CU.validateCacheNames(cacheNames); + guard(); try { http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java index 75c9a71..73bf224 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupAdapter.java @@ -54,6 +54,7 @@ import org.apache.ignite.internal.managers.discovery.GridDiscoveryManager; import org.apache.ignite.internal.processors.igfs.IgfsNodePredicate; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.A; +import org.apache.ignite.internal.util.typedef.internal.CU; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgnitePredicate; import org.apache.ignite.resources.IgniteInstanceResource; @@ -576,36 +577,46 @@ public class ClusterGroupAdapter implements ClusterGroupEx, Externalizable { } /** {@inheritDoc} */ - @Override public final ClusterGroup forCacheNodes(@Nullable String cacheName) { + @Override public final ClusterGroup forCacheNodes(String cacheName) { + CU.validateCacheName(cacheName); + checkDaemon(); return forPredicate(new CachesFilter(cacheName, true, true, true)); } /** {@inheritDoc} */ - @Override public final ClusterGroup forDataNodes(@Nullable String cacheName) { + @Override public final ClusterGroup forDataNodes(String cacheName) { + CU.validateCacheName(cacheName); + checkDaemon(); return forPredicate(new CachesFilter(cacheName, true, false, false)); } /** {@inheritDoc} */ - @Override public final ClusterGroup forClientNodes(@Nullable String cacheName) { + @Override public final ClusterGroup forClientNodes(String cacheName) { + CU.validateCacheName(cacheName); + checkDaemon(); return forPredicate(new CachesFilter(cacheName, false, true, true)); } /** {@inheritDoc} */ - @Override public ClusterGroup forCacheNodes(@Nullable String cacheName, boolean affNodes, boolean nearNodes, + @Override public ClusterGroup forCacheNodes(String cacheName, boolean affNodes, boolean nearNodes, boolean clientNodes) { + CU.validateCacheName(cacheName); + checkDaemon(); return forPredicate(new CachesFilter(cacheName, affNodes, nearNodes, clientNodes)); } /** {@inheritDoc} */ - @Override public ClusterGroup forIgfsMetadataDataNodes(@Nullable String igfsName, @Nullable String metaCacheName) { + @Override public ClusterGroup forIgfsMetadataDataNodes(String igfsName, String metaCacheName) { + assert metaCacheName != null; + return forPredicate(new IgfsNodePredicate(igfsName)).forDataNodes(metaCacheName); } @@ -764,7 +775,7 @@ public class ClusterGroupAdapter implements ClusterGroupEx, Externalizable { /** * @param cacheName Cache name. */ - private CachesFilter(@Nullable String cacheName, boolean affNodes, boolean nearNodes, boolean clients) { + private CachesFilter(String cacheName, boolean affNodes, boolean nearNodes, boolean clients) { this.cacheName = cacheName; this.affNodes = affNodes; this.nearNodes = nearNodes; http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupEx.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupEx.java index 21533a0..f597818 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/ClusterGroupEx.java @@ -40,8 +40,7 @@ public interface ClusterGroupEx extends ClusterGroup { * @param clientNodes Flag to include client nodes. * @return Cluster group. */ - public ClusterGroup forCacheNodes(@Nullable String cacheName, boolean affNodes, boolean nearNodes, - boolean clientNodes); + public ClusterGroup forCacheNodes(String cacheName, boolean affNodes, boolean nearNodes, boolean clientNodes); /** * Create projection for IGFS server nodes. @@ -50,5 +49,5 @@ public interface ClusterGroupEx extends ClusterGroup { * @param metaCacheName Metadata cache name. * @return Cluster group. */ - public ClusterGroup forIgfsMetadataDataNodes(@Nullable String igfsName, @Nullable String metaCacheName); + public ClusterGroup forIgfsMetadataDataNodes(String igfsName, String metaCacheName); } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java index e8e20ed..e1b9f64 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityProcessor.java @@ -26,7 +26,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.UUID; import java.util.concurrent.ConcurrentMap; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; @@ -56,6 +55,7 @@ import org.apache.ignite.internal.util.lang.GridTuple3; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.A; +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; import org.apache.ignite.lang.IgnitePredicate; @@ -85,9 +85,6 @@ public class GridAffinityProcessor extends GridProcessorAdapter { /** Time to wait between errors (in milliseconds). */ private static final long ERROR_WAIT = 500; - /** Null cache name. */ - private static final String NULL_NAME = U.id8(UUID.randomUUID()); - /** Affinity map. */ private final ConcurrentMap> affMap = new ConcurrentHashMap8<>(); @@ -151,7 +148,7 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Key partition. * @throws IgniteCheckedException If failed. */ - public int partition(@Nullable String cacheName, Object key) throws IgniteCheckedException { + public int partition(String cacheName, Object key) throws IgniteCheckedException { return partition(cacheName, key, null); } @@ -162,9 +159,9 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Key partition. * @throws IgniteCheckedException If failed. */ - public int partition(@Nullable String cacheName, - Object key, - @Nullable AffinityInfo aff) throws IgniteCheckedException { + public int partition(String cacheName, Object key, @Nullable AffinityInfo aff) throws IgniteCheckedException { + assert cacheName != null; + if (key instanceof KeyCacheObject) { int part = ((KeyCacheObject)key).partition(); @@ -182,9 +179,9 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Key partition. * @throws IgniteCheckedException If failed. */ - public int partition0(@Nullable String cacheName, - Object key, - @Nullable AffinityInfo aff) throws IgniteCheckedException { + public int partition0(String cacheName, Object key, @Nullable AffinityInfo aff) throws IgniteCheckedException { + assert cacheName != null; + if (aff == null) { aff = affinityCache(cacheName, ctx.discovery().topologyVersionEx()); @@ -204,9 +201,10 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Picked node. * @throws IgniteCheckedException If failed. */ - @Nullable public ClusterNode mapPartitionToNode(@Nullable String cacheName, int partId, - AffinityTopologyVersion topVer) + @Nullable public ClusterNode mapPartitionToNode(String cacheName, int partId, AffinityTopologyVersion topVer) throws IgniteCheckedException { + assert cacheName != null; + AffinityInfo affInfo = affinityCache(cacheName, topVer); return affInfo != null ? F.first(affInfo.assignment().get(partId)) : null; @@ -221,8 +219,10 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Map of nodes to keys. * @throws IgniteCheckedException If failed. */ - public Map> mapKeysToNodes(@Nullable String cacheName, - @Nullable Collection keys) throws IgniteCheckedException { + public Map> mapKeysToNodes(String cacheName, @Nullable Collection keys) + throws IgniteCheckedException { + assert cacheName != null; + return keysToNodes(cacheName, keys); } @@ -234,7 +234,9 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Picked node. * @throws IgniteCheckedException If failed. */ - @Nullable public ClusterNode mapKeyToNode(@Nullable String cacheName, K key) throws IgniteCheckedException { + @Nullable public ClusterNode mapKeyToNode(String cacheName, K key) throws IgniteCheckedException { + assert cacheName != null; + Map> map = keysToNodes(cacheName, F.asList(key)); return !F.isEmpty(map) ? F.first(map.keySet()) : null; @@ -248,8 +250,10 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Picked node. * @throws IgniteCheckedException If failed. */ - @Nullable public ClusterNode mapKeyToNode(@Nullable String cacheName, K key, - AffinityTopologyVersion topVer) throws IgniteCheckedException { + @Nullable public ClusterNode mapKeyToNode(String cacheName, K key, AffinityTopologyVersion topVer) + throws IgniteCheckedException { + assert cacheName != null; + Map> map = keysToNodes(cacheName, F.asList(key), topVer); return map != null ? F.first(map.keySet()) : null; @@ -264,13 +268,14 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Affinity nodes, primary first. * @throws IgniteCheckedException If failed. */ - public List mapKeyToPrimaryAndBackups(@Nullable String cacheName, + public List mapKeyToPrimaryAndBackups(String cacheName, K key, AffinityTopologyVersion topVer) throws IgniteCheckedException { - A.notNull(key, "key"); + assert cacheName != null; + A.notNull(key, "key"); AffinityInfo affInfo = affinityCache(cacheName, topVer); if (affInfo == null) @@ -290,7 +295,9 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @throws IgniteCheckedException In case of error. */ @SuppressWarnings("unchecked") - @Nullable public Object affinityKey(@Nullable String cacheName, @Nullable Object key) throws IgniteCheckedException { + @Nullable public Object affinityKey(String cacheName, @Nullable Object key) throws IgniteCheckedException { + assert cacheName != null; + if (key == null) return null; @@ -307,15 +314,9 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Cache affinity. */ public CacheAffinityProxy affinityProxy(String cacheName) { - return new CacheAffinityProxy<>(cacheName); - } + CU.validateCacheName(cacheName); - /** - * @param cacheName Cache name. - * @return Non-null cache name. - */ - private String maskNull(@Nullable String cacheName) { - return cacheName == null ? NULL_NAME : cacheName; + return new CacheAffinityProxy<>(cacheName); } /** @@ -353,7 +354,7 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @throws IgniteCheckedException In case of error. */ @SuppressWarnings("ErrorNotRethrown") - @Nullable private AffinityInfo affinityCache(@Nullable final String cacheName, AffinityTopologyVersion topVer) + @Nullable private AffinityInfo affinityCache(final String cacheName, AffinityTopologyVersion topVer) throws IgniteCheckedException { AffinityAssignmentKey key = new AffinityAssignmentKey(cacheName, topVer); @@ -469,7 +470,7 @@ public class GridAffinityProcessor extends GridProcessorAdapter { continue; } - affMap.remove(maskNull(cacheName), fut0); + affMap.remove(cacheName, fut0); fut0.onDone(new IgniteCheckedException("Failed to get affinity mapping from node: " + n, e)); @@ -494,7 +495,7 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @return Affinity cached function. * @throws IgniteCheckedException If either local or remote node cannot get deployment for affinity objects. */ - private AffinityInfo affinityInfoFromNode(@Nullable String cacheName, AffinityTopologyVersion topVer, ClusterNode n) + private AffinityInfo affinityInfoFromNode(String cacheName, AffinityTopologyVersion topVer, ClusterNode n) throws IgniteCheckedException { GridTuple3 t = ctx.closure() .callAsyncNoFailover(BROADCAST, affinityJob(cacheName, topVer), F.asList(n), true/*system pool*/, 0).get(); @@ -559,7 +560,7 @@ public class GridAffinityProcessor extends GridProcessorAdapter { * @throws IgniteCheckedException In case of error. */ private ClusterNode primary(AffinityInfo aff, K key) throws IgniteCheckedException { - int part = partition(null, key, aff); + int part = aff.affFunc.partition(aff.affinityKey(key)); Collection nodes = aff.assignment.get(part); http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/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 4b79361..a01bac6 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 @@ -164,9 +164,6 @@ import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isNearE */ @SuppressWarnings({"unchecked", "TypeMayBeWeakened", "deprecation"}) public class GridCacheProcessor extends GridProcessorAdapter { - /** Null cache name. */ - private static final String NULL_NAME = U.id8(UUID.randomUUID()); - /** Shared cache context. */ private GridCacheSharedContext sharedCtx; @@ -415,6 +412,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { CacheConfiguration cc, CacheType cacheType, @Nullable CacheStore cfgStore) throws IgniteCheckedException { + assertParameter(cc.getName() != null && !cc.getName().isEmpty(), "name is null or empty"); + if (cc.getCacheMode() == REPLICATED) { if (cc.getNearConfiguration() != null && ctx.discovery().cacheAffinityNode(ctx.discovery().localNode(), cc.getName())) { @@ -709,6 +708,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @throws IgniteCheckedException If failed. */ private void registerCache(CacheConfiguration cfg) throws IgniteCheckedException { + assert cfg.getName() != null; + cloneCheckSerializable(cfg); CacheObjectContext cacheObjCtx = ctx.cacheObjects().contextForCache(cfg); @@ -716,24 +717,18 @@ public class GridCacheProcessor extends GridProcessorAdapter { // Initialize defaults. initialize(cfg, cacheObjCtx); - String masked = maskNull(cfg.getName()); + String cacheName = cfg.getName(); if (cacheDescriptor(cfg.getName()) != null) { - String cacheName = cfg.getName(); - - if (cacheName != null) - throw new IgniteCheckedException("Duplicate cache name found (check configuration and " + - "assign unique name to each cache): " + U.maskName(cacheName)); - else - throw new IgniteCheckedException("Default cache has already been configured (check configuration and " + - "assign unique name to each cache)."); + throw new IgniteCheckedException("Duplicate cache name found (check configuration and " + + "assign unique name to each cache): " + cacheName); } CacheType cacheType; - if (CU.isUtilityCache(cfg.getName())) + if (CU.isUtilityCache(cfg.getName())) cacheType = CacheType.UTILITY; - else if (internalCaches.contains(maskNull(cfg.getName()))) + else if (internalCaches.contains(cfg.getName())) cacheType = CacheType.INTERNAL; else cacheType = CacheType.USER; @@ -776,7 +771,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (log.isDebugEnabled()) log.debug("Use cache configuration as template: " + cfg); - registeredTemplates.put(masked, desc); + registeredTemplates.put(cacheName, desc); } if (cfg.getName() == null) { // Use cache configuration with null name as template. @@ -790,7 +785,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { desc0.locallyConfigured(true); desc0.staticallyConfigured(true); - registeredTemplates.put(masked, desc0); + registeredTemplates.put(cacheName, desc0); } } @@ -802,8 +797,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (igfsCfgs != null) { for (FileSystemConfiguration igfsCfg : igfsCfgs) { - internalCaches.add(maskNull(igfsCfg.getMetaCacheConfiguration().getName())); - internalCaches.add(maskNull(igfsCfg.getDataCacheConfiguration().getName())); + internalCaches.add(igfsCfg.getMetaCacheConfiguration().getName()); + internalCaches.add(igfsCfg.getDataCacheConfiguration().getName()); } } @@ -829,6 +824,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { List tmpCacheCfg = new ArrayList<>(); for (CacheConfiguration conf : ctx.config().getCacheConfiguration()) { + assert conf.getName() != null; + for (DynamicCacheDescriptor desc : cacheDescriptors()) { CacheConfiguration c = desc.cacheConfiguration(); IgnitePredicate filter = c.getNodeFilter(); @@ -896,11 +893,11 @@ public class GridCacheProcessor extends GridProcessorAdapter { String name = ccfg.getName(); - caches.put(maskNull(name), cache); + caches.put(name, cache); startCache(cache, desc.schema()); - jCacheProxies.put(maskNull(name), new IgniteCacheProxy(ctx, cache, null, false)); + jCacheProxies.put(name, new IgniteCacheProxy(ctx, cache, null, false)); } } } @@ -932,7 +929,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { IgnitePredicate filter = cfg.getNodeFilter(); if (desc.locallyConfigured() || (desc.receivedOnDiscovery() && CU.affinityNode(locNode, filter))) { - GridCacheAdapter cache = caches.get(maskNull(cfg.getName())); + GridCacheAdapter cache = caches.get(cfg.getName()); if (cache != null) { if (cfg.getRebalanceMode() == SYNC) { @@ -1020,14 +1017,14 @@ public class GridCacheProcessor extends GridProcessorAdapter { */ public void stopCaches(boolean cancel){ for (String cacheName : stopSeq) { - GridCacheAdapter cache = stoppedCaches.remove(maskNull(cacheName)); + GridCacheAdapter cache = stoppedCaches.remove(cacheName); if (cache != null) stopCache(cache, cancel, false); } for (GridCacheAdapter cache : stoppedCaches.values()) { - if (cache == stoppedCaches.remove(maskNull(cache.name()))) + if (cache == stoppedCaches.remove(cache.name())) stopCache(cache, cancel, false); } @@ -1080,10 +1077,10 @@ public class GridCacheProcessor extends GridProcessorAdapter { } for (String cacheName : stopSeq) { - GridCacheAdapter cache = caches.remove(maskNull(cacheName)); + GridCacheAdapter cache = caches.remove(cacheName); if (cache != null) { - stoppedCaches.put(maskNull(cacheName), cache); + stoppedCaches.put(cacheName, cache); onKernalStop(cache, cancel); } @@ -1149,7 +1146,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { boolean sysCache = CU.isUtilityCache(name) || CU.isAtomicsCache(name); if (!sysCache) { - DynamicCacheDescriptor oldDesc = cachesOnDisconnect.get(maskNull(name)); + DynamicCacheDescriptor oldDesc = cachesOnDisconnect.get(name); assert oldDesc != null : "No descriptor for cache: " + name; @@ -1165,8 +1162,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { sharedCtx.removeCacheContext(cache.ctx); - caches.remove(maskNull(cache.name())); - jCacheProxies.remove(maskNull(cache.name())); + caches.remove(cache.name()); + jCacheProxies.remove(cache.name()); IgniteInternalFuture fut = ctx.closure().runLocalSafe(new Runnable() { @Override public void run() { @@ -1811,6 +1808,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Cache mode. */ public CacheMode cacheMode(String cacheName) { + assert cacheName != null; + DynamicCacheDescriptor desc = cacheDescriptor(cacheName); return desc != null ? desc.cacheConfiguration().getCacheMode() : null; @@ -1939,7 +1938,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { sharedCtx.addCacheContext(cacheCtx); - caches.put(maskNull(cacheCtx.name()), cache); + caches.put(cacheCtx.name(), cache); startCache(cache, schema != null ? schema : new QuerySchema()); @@ -1955,7 +1954,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (req.stop() || (req.close() && req.initiatingNodeId().equals(ctx.localNodeId()))) { // Break the proxy before exchange future is done. - IgniteCacheProxy proxy = jCacheProxies.get(maskNull(req.cacheName())); + IgniteCacheProxy proxy = jCacheProxies.get(req.cacheName()); if (proxy != null) { if (req.stop()) @@ -1973,7 +1972,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { assert req.stop() : req; // Break the proxy before exchange future is done. - IgniteCacheProxy proxy = jCacheProxies.remove(maskNull(req.cacheName())); + IgniteCacheProxy proxy = jCacheProxies.remove(req.cacheName()); if (proxy != null) proxy.gate().onStopped(); @@ -1985,7 +1984,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { private void prepareCacheStop(DynamicCacheChangeRequest req) { assert req.stop() || req.close() : req; - GridCacheAdapter cache = caches.remove(maskNull(req.cacheName())); + GridCacheAdapter cache = caches.remove(req.cacheName()); if (cache != null) { GridCacheContext ctx = cache.context(); @@ -2021,7 +2020,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (cacheCtx.preloader() != null) cacheCtx.preloader().onInitialExchangeComplete(err); - String masked = maskNull(cacheCtx.name()); + String masked = cacheCtx.name(); jCacheProxies.put(masked, new IgniteCacheProxy(cache.context(), cache, null, false)); } @@ -2029,7 +2028,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (!F.isEmpty(reqs) && err == null) { for (DynamicCacheChangeRequest req : reqs) { - String masked = maskNull(req.cacheName()); + String masked = req.cacheName(); if (req.stop()) { stopGateway(req); @@ -2220,7 +2219,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { UUID nodeId ) { for (GridCacheAdapter cache : caches.values()) { - DynamicCacheDescriptor desc = cachesOnDisconnect.get(maskNull(cache.name())); + DynamicCacheDescriptor desc = cachesOnDisconnect.get(cache.name()); if (desc == null) continue; @@ -2300,7 +2299,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { assert ccfg != null : req; - DynamicCacheDescriptor existing = registeredTemplates.get(maskNull(req.cacheName())); + DynamicCacheDescriptor existing = registeredTemplates.get(req.cacheName()); if (existing == null) { DynamicCacheDescriptor desc = new DynamicCacheDescriptor( @@ -2311,7 +2310,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { req.deploymentId(), req.schema()); - registeredTemplates.put(maskNull(req.cacheName()), desc); + registeredTemplates.put(req.cacheName(), desc); } continue; @@ -2444,6 +2443,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Future that will be completed when cache is deployed. */ public IgniteInternalFuture getOrCreateFromTemplate(String cacheName, boolean checkThreadTx) { + assert cacheName != null; + try { if (publicJCache(cacheName, false, checkThreadTx) != null) // Cache with given name already started. return new GridFinishedFuture<>(); @@ -2580,6 +2581,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { boolean failIfNotStarted, boolean checkThreadTx ) { + assert cacheName != null; + if (checkThreadTx) checkEmptyTransactions(); @@ -2610,9 +2613,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @param checkThreadTx If {@code true} checks that current thread does not have active transactions. * @return Future that will be completed when all caches are deployed. */ - public IgniteInternalFuture dynamicStartCaches( - Collection ccfgList, boolean failIfExists, boolean checkThreadTx - ) { + public IgniteInternalFuture dynamicStartCaches(Collection ccfgList, boolean failIfExists, + boolean checkThreadTx) { return dynamicStartCaches(ccfgList, CacheType.USER, failIfExists, checkThreadTx); } @@ -2675,6 +2677,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Future that will be completed when cache is destroyed. */ public IgniteInternalFuture dynamicDestroyCache(String cacheName, boolean checkThreadTx) { + assert cacheName != null; + if (checkThreadTx) checkEmptyTransactions(); @@ -2720,7 +2724,9 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Future that will be completed when cache is closed. */ public IgniteInternalFuture dynamicCloseCache(String cacheName) { - IgniteCacheProxy proxy = jCacheProxies.get(maskNull(cacheName)); + assert cacheName != null; + + IgniteCacheProxy proxy = jCacheProxies.get(cacheName); if (proxy == null || proxy.proxyClosed()) return new GridFinishedFuture<>(); // No-op. @@ -2837,6 +2843,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { boolean needInit ) throws IgniteCheckedException { assert cfg != null; + assert cfg.getName() != null; cloneCheckSerializable(cfg); @@ -3023,20 +3030,20 @@ public class GridCacheProcessor extends GridProcessorAdapter { assert ccfg != null : req; - DynamicCacheDescriptor desc = registeredTemplates.get(maskNull(req.cacheName())); + DynamicCacheDescriptor desc = registeredTemplates.get(req.cacheName()); if (desc == null) { DynamicCacheDescriptor templateDesc = new DynamicCacheDescriptor(ctx, ccfg, req.cacheType(), true, req.deploymentId(), req.schema()); - DynamicCacheDescriptor old = registeredTemplates.put(maskNull(ccfg.getName()), templateDesc); + DynamicCacheDescriptor old = registeredTemplates.put(ccfg.getName(), templateDesc); assert old == null : "Dynamic cache map was concurrently modified [new=" + templateDesc + ", old=" + old + ']'; } TemplateConfigurationFuture fut = - (TemplateConfigurationFuture)pendingTemplateFuts.get(maskNull(ccfg.getName())); + (TemplateConfigurationFuture)pendingTemplateFuts.get(ccfg.getName()); if (fut != null && fut.deploymentId().equals(req.deploymentId())) fut.onDone(); @@ -3152,7 +3159,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (desc != null) { if (req.stop()) { - DynamicCacheDescriptor old = registeredCaches.remove(maskNull(req.cacheName())); + DynamicCacheDescriptor old = registeredCaches.remove(req.cacheName()); assert old != null : "Dynamic cache map was concurrently modified [req=" + req + ']'; @@ -3417,26 +3424,19 @@ public class GridCacheProcessor extends GridProcessorAdapter { } /** - * @param type of keys. - * @param type of values. - * @return Default cache. - */ - public IgniteInternalCache cache() { - return cache(null); - } - - /** * @param name Cache name. * @param type of keys. * @param type of values. * @return Cache instance for given name. */ @SuppressWarnings("unchecked") - public IgniteInternalCache cache(@Nullable String name) { + public IgniteInternalCache cache(String name) { + assert name != null; + if (log.isDebugEnabled()) log.debug("Getting cache for name: " + name); - IgniteCacheProxy jcache = (IgniteCacheProxy)jCacheProxies.get(maskNull(name)); + IgniteCacheProxy jcache = (IgniteCacheProxy)jCacheProxies.get(name); return jcache == null ? null : jcache.internalProxy(); } @@ -3447,18 +3447,18 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @throws IgniteCheckedException If failed. */ @SuppressWarnings("unchecked") - public IgniteInternalCache getOrStartCache(@Nullable String name) throws IgniteCheckedException { + public IgniteInternalCache getOrStartCache(String name) throws IgniteCheckedException { + assert name != null; + if (log.isDebugEnabled()) log.debug("Getting cache for name: " + name); - String masked = maskNull(name); - - IgniteCacheProxy cache = jCacheProxies.get(masked); + IgniteCacheProxy cache = jCacheProxies.get(name); if (cache == null) { dynamicStartCache(null, name, null, false, true, true).get(); - cache = jCacheProxies.get(masked); + cache = jCacheProxies.get(name); } return cache == null ? null : (IgniteInternalCache)cache.internalProxy(); @@ -3524,7 +3524,9 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Cache instance for given name. */ @SuppressWarnings("unchecked") - public IgniteInternalCache publicCache(@Nullable String name) { + public IgniteInternalCache publicCache(String name) { + assert name != null; + if (log.isDebugEnabled()) log.debug("Getting public cache for name: " + name); @@ -3536,7 +3538,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (!desc.cacheType().userCache()) throw new IllegalStateException("Failed to get cache because it is a system cache: " + name); - IgniteCacheProxy jcache = (IgniteCacheProxy)jCacheProxies.get(maskNull(name)); + IgniteCacheProxy jcache = (IgniteCacheProxy)jCacheProxies.get(name); if (jcache == null) throw new IllegalArgumentException("Cache is not started: " + name); @@ -3551,7 +3553,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Cache instance for given name. * @throws IgniteCheckedException If failed. */ - public IgniteCacheProxy publicJCache(@Nullable String cacheName) throws IgniteCheckedException { + public IgniteCacheProxy publicJCache(String cacheName) throws IgniteCheckedException { return publicJCache(cacheName, true, true); } @@ -3564,15 +3566,15 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @throws IgniteCheckedException If failed. */ @SuppressWarnings({"unchecked", "ConstantConditions"}) - @Nullable public IgniteCacheProxy publicJCache(@Nullable String cacheName, + @Nullable public IgniteCacheProxy publicJCache(String cacheName, boolean failIfNotStarted, boolean checkThreadTx) throws IgniteCheckedException { + assert cacheName != null; + if (log.isDebugEnabled()) log.debug("Getting public cache for name: " + cacheName); - String masked = maskNull(cacheName); - - IgniteCacheProxy cache = jCacheProxies.get(masked); + IgniteCacheProxy cache = jCacheProxies.get(cacheName); DynamicCacheDescriptor desc = cacheDescriptor(cacheName); @@ -3582,7 +3584,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (cache == null) { dynamicStartCache(null, cacheName, null, false, failIfNotStarted, checkThreadTx).get(); - cache = jCacheProxies.get(masked); + cache = jCacheProxies.get(cacheName); } return (IgniteCacheProxy)cache; @@ -3595,6 +3597,8 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Cache configuration. */ public CacheConfiguration cacheConfiguration(String name) { + assert name != null; + DynamicCacheDescriptor desc = cacheDescriptor(name); if (desc == null) @@ -3610,7 +3614,9 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Descriptor. */ public DynamicCacheDescriptor cacheDescriptor(String name) { - return registeredCaches.get(maskNull(name)); + assert name != null; + + return registeredCaches.get(name); } /** @@ -3621,7 +3627,9 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Old descriptor (if any). */ private DynamicCacheDescriptor cacheDescriptor(String name, DynamicCacheDescriptor desc) { - return registeredCaches.put(maskNull(name), desc); + assert name != null; + + return registeredCaches.put(name, desc); } /** @@ -3653,7 +3661,9 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @throws IgniteCheckedException If failed. */ public void addCacheConfiguration(CacheConfiguration cacheCfg) throws IgniteCheckedException { - String masked = maskNull(cacheCfg.getName()); + assert cacheCfg.getName() != null; + + String masked = cacheCfg.getName(); DynamicCacheDescriptor desc = registeredTemplates.get(masked); @@ -3674,7 +3684,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { TemplateConfigurationFuture fut = new TemplateConfigurationFuture(req.cacheName(), req.deploymentId()); TemplateConfigurationFuture old = - (TemplateConfigurationFuture)pendingTemplateFuts.putIfAbsent(maskNull(cacheCfg.getName()), fut); + (TemplateConfigurationFuture)pendingTemplateFuts.putIfAbsent(cacheCfg.getName(), fut); if (old != null) fut = old; @@ -3708,8 +3718,10 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @return Cache instance for given name. */ @SuppressWarnings("unchecked") - public IgniteCacheProxy jcache(@Nullable String name) { - IgniteCacheProxy cache = (IgniteCacheProxy)jCacheProxies.get(maskNull(name)); + public IgniteCacheProxy jcache(String name) { + assert name != null; + + IgniteCacheProxy cache = (IgniteCacheProxy)jCacheProxies.get(name); if (cache == null) throw new IllegalArgumentException("Cache is not configured: " + name); @@ -3732,26 +3744,19 @@ public class GridCacheProcessor extends GridProcessorAdapter { } /** - * @param type of keys. - * @param type of values. - * @return Default cache. - */ - public GridCacheAdapter internalCache() { - return internalCache(null); - } - - /** * @param name Cache name. * @param type of keys. * @param type of values. * @return Cache instance for given name. */ @SuppressWarnings("unchecked") - public GridCacheAdapter internalCache(@Nullable String name) { + public GridCacheAdapter internalCache(String name) { + assert name != null; + if (log.isDebugEnabled()) log.debug("Getting internal cache adapter: " + name); - return (GridCacheAdapter)caches.get(maskNull(name)); + return (GridCacheAdapter)caches.get(name); } /** @@ -3780,7 +3785,9 @@ public class GridCacheProcessor extends GridProcessorAdapter { * @param name Cache name. * @return {@code True} if specified cache is system, {@code false} otherwise. */ - public boolean systemCache(@Nullable String name) { + public boolean systemCache(String name) { + assert name != null; + DynamicCacheDescriptor desc = cacheDescriptor(name); return desc != null && !desc.cacheType().userCache(); @@ -3850,7 +3857,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { private boolean isMissingQueryCache(DynamicCacheDescriptor desc) { CacheConfiguration ccfg = desc.cacheConfiguration(); - return !caches.containsKey(maskNull(ccfg.getName())) && QueryUtils.isEnabled(ccfg); + return !caches.containsKey(ccfg.getName()) && QueryUtils.isEnabled(ccfg); } /** @@ -4141,24 +4148,6 @@ public class GridCacheProcessor extends GridProcessorAdapter { } /** - * @param name Name to mask. - * @return Masked name. - */ - private static String maskNull(String name) { - return name == null ? NULL_NAME : name; - } - - /** - * @param name Name to unmask. - * @return Unmasked name. - */ - @SuppressWarnings("StringEquality") - private static String unmaskNull(String name) { - // Intentional identity equality. - return name == NULL_NAME ? null : name; - } - - /** * */ @SuppressWarnings("ExternalizableWithoutPublicNoArgConstructor") @@ -4244,7 +4233,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { /** {@inheritDoc} */ @Override public boolean onDone(@Nullable Object res, @Nullable Throwable err) { // Make sure to remove future before completion. - pendingTemplateFuts.remove(maskNull(cacheName), this); + pendingTemplateFuts.remove(cacheName, this); return super.onDone(res, err); } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/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 df9c7c4..2260a99 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 @@ -62,8 +62,6 @@ import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException; import org.apache.ignite.internal.cluster.ClusterTopologyServerNotFoundException; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.distributed.GridDistributedLockCancelledException; -import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition; -import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal; import org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx; import org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry; @@ -77,6 +75,7 @@ import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.P1; import org.apache.ignite.internal.util.typedef.T2; import org.apache.ignite.internal.util.typedef.X; +import org.apache.ignite.internal.util.typedef.internal.A; import org.apache.ignite.internal.util.typedef.internal.CU; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteClosure; @@ -1691,4 +1690,31 @@ public class GridCacheUtils { ? DEFAULT_TX_CFG : cfg.getTransactionConfiguration(); } + + /** + * @param name Cache name. + * @throws IllegalArgumentException In case the name is not valid. + */ + public static void validateCacheName(String name) throws IllegalArgumentException { + A.ensure(name != null && !name.isEmpty(), "Cache name must not be null or empty."); + } + + /** + * @param cacheNames Cache names to validate. + * @throws IllegalArgumentException In case the name is not valid. + */ + public static void validateCacheNames(Collection cacheNames) throws IllegalArgumentException { + for (String name : cacheNames) + validateCacheName(name); + } + + /** + * @param ccfgs Configurations to validate. + * @throws IllegalArgumentException In case the name is not valid. + */ + public static void validateConfigurationCacheNames(Collection ccfgs) + throws IllegalArgumentException { + for (CacheConfiguration ccfg : ccfgs) + validateCacheName(ccfg.getName()); + } } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java index 23f4343..0afba59 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java @@ -24,7 +24,6 @@ import java.util.List; import javax.cache.Cache; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteDataStreamer; -import org.apache.ignite.cache.QueryIndex; import org.apache.ignite.cache.query.QueryCursor; import org.apache.ignite.cache.query.SqlFieldsQuery; import org.apache.ignite.cache.query.SqlQuery; @@ -34,8 +33,6 @@ import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.CacheObject; import org.apache.ignite.internal.processors.cache.GridCacheContext; import org.apache.ignite.internal.processors.cache.KeyCacheObject; -import org.apache.ignite.internal.processors.cache.database.CacheDataRow; -import org.apache.ignite.internal.processors.cache.database.tree.BPlusTree; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; import org.apache.ignite.internal.processors.query.schema.SchemaIndexCacheVisitor; import org.apache.ignite.internal.util.GridSpinBusyLock; @@ -110,7 +107,7 @@ public interface GridQueryIndexing { * @return Query result. * @throws IgniteCheckedException If failed. */ - public long streamUpdateQuery(@Nullable final String spaceName, final String qry, + public long streamUpdateQuery(final String spaceName, final String qry, @Nullable final Object[] params, IgniteDataStreamer streamer) throws IgniteCheckedException; /** @@ -135,7 +132,7 @@ public interface GridQueryIndexing { * @return Queried rows. * @throws IgniteCheckedException If failed. */ - public GridCloseableIterator> queryLocalText(@Nullable String spaceName, String qry, + public GridCloseableIterator> queryLocalText(String spaceName, String qry, String typeName, IndexingQueryFilter filter) throws IgniteCheckedException; /** @@ -148,7 +145,7 @@ public interface GridQueryIndexing { * @param cacheVisitor Cache visitor * @throws IgniteCheckedException if failed. */ - public void dynamicIndexCreate(@Nullable String spaceName, String tblName, QueryIndexDescriptorImpl idxDesc, + public void dynamicIndexCreate(String spaceName, String tblName, QueryIndexDescriptorImpl idxDesc, boolean ifNotExists, SchemaIndexCacheVisitor cacheVisitor) throws IgniteCheckedException; /** @@ -160,7 +157,7 @@ public interface GridQueryIndexing { * @throws IgniteCheckedException If failed. */ @SuppressWarnings("SynchronizationOnLocalVariableOrMethodParameter") - public void dynamicIndexDrop(@Nullable String spaceName, String idxName, boolean ifExists) + public void dynamicIndexDrop(String spaceName, String idxName, boolean ifExists) throws IgniteCheckedException; /** @@ -190,7 +187,7 @@ public interface GridQueryIndexing { * @throws IgniteCheckedException If failed. * @return {@code True} if type was registered, {@code false} if for some reason it was rejected. */ - public boolean registerType(@Nullable String spaceName, GridQueryTypeDescriptor desc) throws IgniteCheckedException; + public boolean registerType(String spaceName, GridQueryTypeDescriptor desc) throws IgniteCheckedException; /** * Unregisters type and removes all corresponding data. @@ -199,7 +196,7 @@ public interface GridQueryIndexing { * @param typeName Type name. * @throws IgniteCheckedException If failed. */ - public void unregisterType(@Nullable String spaceName, String typeName) throws IgniteCheckedException; + public void unregisterType(String spaceName, String typeName) throws IgniteCheckedException; /** * Updates index. Note that key is unique for space, so if space contains multiple indexes @@ -213,7 +210,7 @@ public interface GridQueryIndexing { * @param expirationTime Expiration time or 0 if never expires. * @throws IgniteCheckedException If failed. */ - public void store(@Nullable String spaceName, + public void store(String spaceName, String typeName, KeyCacheObject key, int partId, @@ -230,7 +227,7 @@ public interface GridQueryIndexing { * @param val Value. * @throws IgniteCheckedException If failed. */ - public void remove(@Nullable String spaceName, + public void remove(String spaceName, GridQueryTypeDescriptor type, KeyCacheObject key, int partId, @@ -244,7 +241,7 @@ public interface GridQueryIndexing { * @param type Type descriptor. * @throws IgniteCheckedException If failed. */ - public void rebuildIndexesFromHash(@Nullable String spaceName, + public void rebuildIndexesFromHash(String spaceName, GridQueryTypeDescriptor type) throws IgniteCheckedException; /** @@ -253,7 +250,7 @@ public interface GridQueryIndexing { * @param spaceName Space name. * @param type Type descriptor. */ - public void markForRebuildFromHash(@Nullable String spaceName, GridQueryTypeDescriptor type); + public void markForRebuildFromHash(String spaceName, GridQueryTypeDescriptor type); /** * Returns backup filter. http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/GridRedisRestCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/GridRedisRestCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/GridRedisRestCommandHandler.java index 4446bc1..6da9d39 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/GridRedisRestCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/GridRedisRestCommandHandler.java @@ -38,6 +38,9 @@ import org.jetbrains.annotations.Nullable; * Redis command handler done via REST. */ public abstract class GridRedisRestCommandHandler implements GridRedisCommandHandler { + /** Used cache name. */ + protected final static String CACHE_NAME = "default"; + /** Logger. */ protected final IgniteLogger log; http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisDelCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisDelCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisDelCommandHandler.java index 4460108..22d27dc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisDelCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisDelCommandHandler.java @@ -73,6 +73,7 @@ public class GridRedisDelCommandHandler extends GridRedisRestCommandHandler { restReq.clientId(msg.clientId()); restReq.key(msg.key()); restReq.command(CACHE_REMOVE_ALL); + restReq.cacheName(CACHE_NAME); List keys = msg.auxMKeys(); http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisExistsCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisExistsCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisExistsCommandHandler.java index 7402e29..0f8fc13 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisExistsCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/key/GridRedisExistsCommandHandler.java @@ -73,6 +73,7 @@ public class GridRedisExistsCommandHandler extends GridRedisRestCommandHandler { restReq.clientId(msg.clientId()); restReq.key(msg.key()); restReq.command(CACHE_GET_ALL); + restReq.cacheName(CACHE_NAME); List keys = msg.auxMKeys(); http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/server/GridRedisDbSizeCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/server/GridRedisDbSizeCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/server/GridRedisDbSizeCommandHandler.java index 071585f..44d6509 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/server/GridRedisDbSizeCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/server/GridRedisDbSizeCommandHandler.java @@ -68,6 +68,7 @@ public class GridRedisDbSizeCommandHandler extends GridRedisRestCommandHandler { restReq.clientId(msg.clientId()); restReq.key(msg.key()); restReq.command(CACHE_SIZE); + restReq.cacheName(CACHE_NAME); return restReq; } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisAppendCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisAppendCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisAppendCommandHandler.java index 23304be..af8bf45 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisAppendCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisAppendCommandHandler.java @@ -81,6 +81,7 @@ public class GridRedisAppendCommandHandler extends GridRedisRestCommandHandler { appendReq.key(msg.key()); appendReq.value(val); appendReq.command(CACHE_APPEND); + appendReq.cacheName(CACHE_NAME); Object resp = hnd.handle(appendReq).getResponse(); if (resp != null && !(boolean)resp) { @@ -91,6 +92,7 @@ public class GridRedisAppendCommandHandler extends GridRedisRestCommandHandler { setReq.key(msg.key()); setReq.value(val); setReq.command(CACHE_PUT); + setReq.cacheName(CACHE_NAME); hnd.handle(setReq); } @@ -98,6 +100,7 @@ public class GridRedisAppendCommandHandler extends GridRedisRestCommandHandler { getReq.clientId(msg.clientId()); getReq.key(msg.key()); getReq.command(CACHE_GET); + getReq.cacheName(CACHE_NAME); return getReq; } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetCommandHandler.java index cc7008f..e42f37d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetCommandHandler.java @@ -78,6 +78,7 @@ public class GridRedisGetCommandHandler extends GridRedisRestCommandHandler { restReq.key(msg.key()); restReq.command(CACHE_GET); + restReq.cacheName(CACHE_NAME); return restReq; } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetRangeCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetRangeCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetRangeCommandHandler.java index 4cf4a7f..300e004 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetRangeCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetRangeCommandHandler.java @@ -78,6 +78,7 @@ public class GridRedisGetRangeCommandHandler extends GridRedisRestCommandHandler getReq.clientId(msg.clientId()); getReq.key(msg.key()); getReq.command(CACHE_GET); + getReq.cacheName(CACHE_NAME); return getReq; } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetSetCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetSetCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetSetCommandHandler.java index 434de50..1465781 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetSetCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisGetSetCommandHandler.java @@ -77,6 +77,7 @@ public class GridRedisGetSetCommandHandler extends GridRedisRestCommandHandler { restReq.value(msg.aux(VAL_POS)); restReq.command(CACHE_GET_AND_PUT); + restReq.cacheName(CACHE_NAME); return restReq; } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisIncrDecrCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisIncrDecrCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisIncrDecrCommandHandler.java index 7962fe2..78d8180 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisIncrDecrCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisIncrDecrCommandHandler.java @@ -85,6 +85,7 @@ public class GridRedisIncrDecrCommandHandler extends GridRedisRestCommandHandler getReq.clientId(msg.clientId()); getReq.key(msg.key()); getReq.command(CACHE_GET); + getReq.cacheName(CACHE_NAME); GridRestResponse getResp = hnd.handle(getReq); @@ -118,6 +119,7 @@ public class GridRedisIncrDecrCommandHandler extends GridRedisRestCommandHandler rmReq.clientId(msg.clientId()); rmReq.key(msg.key()); rmReq.command(CACHE_REMOVE); + rmReq.cacheName(CACHE_NAME); Object rmResp = hnd.handle(rmReq).getResponse(); http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMGetCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMGetCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMGetCommandHandler.java index cacb151..c77dd80 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMGetCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMGetCommandHandler.java @@ -73,6 +73,7 @@ public class GridRedisMGetCommandHandler extends GridRedisRestCommandHandler { restReq.clientId(msg.clientId()); restReq.key(msg.key()); restReq.command(CACHE_GET_ALL); + restReq.cacheName(CACHE_NAME); List keys = msg.auxMKeys(); http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMSetCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMSetCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMSetCommandHandler.java index 7b29546..83cfe07 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMSetCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisMSetCommandHandler.java @@ -71,6 +71,7 @@ public class GridRedisMSetCommandHandler extends GridRedisRestCommandHandler { restReq.key(msg.key()); restReq.command(CACHE_PUT_ALL); + restReq.cacheName(CACHE_NAME); List els = msg.auxMKeys(); Map mset = U.newHashMap(els.size() / 2); http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetCommandHandler.java index 4108721..b391b1b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetCommandHandler.java @@ -102,6 +102,7 @@ public class GridRedisSetCommandHandler extends GridRedisRestCommandHandler { restReq.key(msg.key()); restReq.command(CACHE_PUT); + restReq.cacheName(CACHE_NAME); restReq.value(msg.aux(VAL_POS)); http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetRangeCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetRangeCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetRangeCommandHandler.java index 15f3b56..5c8640b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetRangeCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisSetRangeCommandHandler.java @@ -94,6 +94,7 @@ public class GridRedisSetRangeCommandHandler extends GridRedisRestCommandHandler getReq.clientId(msg.clientId()); getReq.key(msg.key()); getReq.command(CACHE_GET); + getReq.cacheName(CACHE_NAME); if (val.isEmpty()) return getReq; @@ -110,6 +111,7 @@ public class GridRedisSetRangeCommandHandler extends GridRedisRestCommandHandler putReq.clientId(msg.clientId()); putReq.key(msg.key()); putReq.command(CACHE_PUT); + putReq.cacheName(CACHE_NAME); if (resp == null) { byte[] dst = new byte[totalLen]; http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisStrlenCommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisStrlenCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisStrlenCommandHandler.java index 17019a6..36d4675 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisStrlenCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/redis/string/GridRedisStrlenCommandHandler.java @@ -69,6 +69,7 @@ public class GridRedisStrlenCommandHandler extends GridRedisRestCommandHandler { restReq.key(msg.key()); restReq.command(CACHE_GET); + restReq.cacheName(CACHE_NAME); return restReq; } http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/protocols/tcp/GridTcpMemcachedNioListener.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/protocols/tcp/GridTcpMemcachedNioListener.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/protocols/tcp/GridTcpMemcachedNioListener.java index c1334e0..7c76038 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/protocols/tcp/GridTcpMemcachedNioListener.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/protocols/tcp/GridTcpMemcachedNioListener.java @@ -63,6 +63,9 @@ import static org.apache.ignite.internal.util.nio.GridNioSessionMetaKey.LAST_FUT * Handles memcache requests. */ public class GridTcpMemcachedNioListener extends GridNioServerListenerAdapter { + /** Used cache name in case the name was not defined in a request. */ + private static final String CACHE_NAME = "default"; + /** Logger */ private final IgniteLogger log; @@ -288,7 +291,7 @@ public class GridTcpMemcachedNioListener extends GridNioServerListenerAdapter IgniteBiPredicate forSpace(@Nullable String spaceName); + @Nullable public IgniteBiPredicate forSpace(String spaceName); /** * Is the value required for filtering logic? http://git-wip-us.apache.org/repos/asf/ignite/blob/8f9edebf/modules/core/src/test/config/discovery-stress.xml ---------------------------------------------------------------------- diff --git a/modules/core/src/test/config/discovery-stress.xml b/modules/core/src/test/config/discovery-stress.xml index 3c5c214..86b2636 100644 --- a/modules/core/src/test/config/discovery-stress.xml +++ b/modules/core/src/test/config/discovery-stress.xml @@ -27,9 +27,9 @@ + -