IGNITE-4915: Removed deprecated AffinityNodeHashResolver interface.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7d90c06f Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7d90c06f Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7d90c06f Branch: refs/heads/ignite-4986 Commit: 7d90c06f9449d9c263283ff777a13a8245f67035 Parents: e7f3488 Author: devozerov <[email protected]> Authored: Fri Apr 14 15:26:05 2017 +0300 Committer: devozerov <[email protected]> Committed: Fri Apr 14 15:26:05 2017 +0300 ---------------------------------------------------------------------- .../AffinityNodeAddressHashResolver.java | 44 -------- .../affinity/AffinityNodeHashResolver.java | 47 --------- .../affinity/AffinityNodeIdHashResolver.java | 45 -------- .../rendezvous/RendezvousAffinityFunction.java | 51 +--------- .../processors/cache/GridCacheAttributes.java | 16 --- .../processors/cache/GridCacheProcessor.java | 44 +------- .../resources/META-INF/classnames.properties | 3 - ...ndezvousAffinityFunctionSimpleBenchmark.java | 48 +-------- ...idCacheConfigurationConsistencySelfTest.java | 14 --- ...rtitionedAffinityHashIdResolverSelfTest.java | 102 ------------------- .../testsuites/IgniteCacheTestSuite2.java | 2 - 11 files changed, 5 insertions(+), 411 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeAddressHashResolver.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeAddressHashResolver.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeAddressHashResolver.java deleted file mode 100644 index 4ff54ff..0000000 --- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeAddressHashResolver.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.cache.affinity; - -import java.io.Serializable; -import org.apache.ignite.cluster.ClusterNode; -import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.internal.util.typedef.internal.S; - -/** - * Node hash resolver which uses {@link ClusterNode#consistentId()} as alternate hash value. - * - * @deprecated Use {@link IgniteConfiguration#setConsistentId(Serializable)} instead. - */ -@Deprecated -public class AffinityNodeAddressHashResolver implements AffinityNodeHashResolver { - /** */ - private static final long serialVersionUID = 0L; - - /** {@inheritDoc} */ - @Override public Object resolve(ClusterNode node) { - return node.consistentId(); - } - - /** {@inheritDoc} */ - @Override public String toString() { - return S.toString(AffinityNodeAddressHashResolver.class, this); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeHashResolver.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeHashResolver.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeHashResolver.java deleted file mode 100644 index fb5b039..0000000 --- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeHashResolver.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.cache.affinity; - -import java.io.Serializable; -import org.apache.ignite.cluster.ClusterNode; -import org.apache.ignite.configuration.IgniteConfiguration; - -/** - * Resolver which is used to provide node hash value for affinity function. - * <p> - * Node IDs constantly change when nodes get restarted, which causes affinity mapping to change between restarts, - * and hence causing redundant repartitioning. Providing an alternate node hash value, which survives node restarts, - * will help to map keys to the same nodes whenever possible. - * <p> - * Note that on case clients exist they will query this object from the server and use it for affinity calculation. - * Therefore you must ensure that server and clients can marshal and unmarshal this object in binary format, - * i.e. all parties have object class(es) configured as binary. - * - * @deprecated Use {@link IgniteConfiguration#setConsistentId(Serializable)} instead. - */ -@Deprecated -public interface AffinityNodeHashResolver extends Serializable { - /** - * Resolve alternate hash value for the given Grid node. - * - * @param node Grid node. - * @return Resolved hash ID. - */ - @Deprecated - public Object resolve(ClusterNode node); -} http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeIdHashResolver.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeIdHashResolver.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeIdHashResolver.java deleted file mode 100644 index a204a6d..0000000 --- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/AffinityNodeIdHashResolver.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.cache.affinity; - -import java.io.Serializable; -import org.apache.ignite.cluster.ClusterNode; -import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.internal.util.typedef.internal.S; - -/** - * Node hash resolver which uses generated node ID as node hash value. As new node ID is generated - * on each node start, this resolver do not provide ability to map keys to the same nodes after restart. - * - * @deprecated Use {@link IgniteConfiguration#setConsistentId(Serializable)} instead. - */ -@Deprecated -public class AffinityNodeIdHashResolver implements AffinityNodeHashResolver { - /** */ - private static final long serialVersionUID = 0L; - - /** {@inheritDoc} */ - @Override public Object resolve(ClusterNode node) { - return node.id(); - } - - /** {@inheritDoc} */ - @Override public String toString() { - return S.toString(AffinityNodeIdHashResolver.class, this); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java index 59f3aed..0be9878 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java @@ -35,10 +35,8 @@ import java.util.UUID; import org.apache.ignite.IgniteLogger; import org.apache.ignite.cache.affinity.AffinityFunction; import org.apache.ignite.cache.affinity.AffinityFunctionContext; -import org.apache.ignite.cache.affinity.AffinityNodeHashResolver; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.internal.processors.cache.GridCacheUtils; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.A; @@ -101,9 +99,6 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza * is primary). */ private IgniteBiPredicate<ClusterNode, List<ClusterNode>> affinityBackupFilter; - /** Hash ID resolver. */ - private AffinityNodeHashResolver hashIdRslvr = null; - /** Logger instance. */ @LoggerResource private transient IgniteLogger log; @@ -214,45 +209,6 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza } /** - * Gets hash ID resolver for nodes. This resolver is used to provide - * alternate hash ID, other than node ID. - * <p> - * Node IDs constantly change when nodes get restarted, which causes them to - * be placed on different locations in the hash ring, and hence causing - * repartitioning. Providing an alternate hash ID, which survives node restarts, - * puts node on the same location on the hash ring, hence minimizing required - * repartitioning. - * - * @return Hash ID resolver. - */ - @Deprecated - public AffinityNodeHashResolver getHashIdResolver() { - return hashIdRslvr; - } - - /** - * Sets hash ID resolver for nodes. This resolver is used to provide - * alternate hash ID, other than node ID. - * <p> - * Node IDs constantly change when nodes get restarted, which causes them to - * be placed on different locations in the hash ring, and hence causing - * repartitioning. Providing an alternate hash ID, which survives node restarts, - * puts node on the same location on the hash ring, hence minimizing required - * repartitioning. - * - * @param hashIdRslvr Hash ID resolver. - * - * @deprecated Use {@link IgniteConfiguration#setConsistentId(Serializable)} instead. - * @return {@code this} for chaining. - */ - @Deprecated - public RendezvousAffinityFunction setHashIdResolver(AffinityNodeHashResolver hashIdRslvr) { - this.hashIdRslvr = hashIdRslvr; - - return this; - } - - /** * Gets optional backup filter. If not {@code null}, backups will be selected * from all nodes that pass this filter. First node passed to this filter is primary node, * and second node is a node being tested. @@ -346,10 +302,7 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza * @return Node hash. */ public Object resolveNodeHash(ClusterNode node) { - if (hashIdRslvr != null) - return hashIdRslvr.resolve(node); - else - return node.consistentId(); + return node.consistentId(); } /** @@ -552,7 +505,6 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeInt(parts); out.writeBoolean(exclNeighbors); - out.writeObject(hashIdRslvr); out.writeObject(backupFilter); } @@ -562,7 +514,6 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza setPartitions(in.readInt()); exclNeighbors = in.readBoolean(); - hashIdRslvr = (AffinityNodeHashResolver)in.readObject(); backupFilter = (IgniteBiPredicate<ClusterNode, ClusterNode>)in.readObject(); } http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAttributes.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAttributes.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAttributes.java index 292ea4a..1caf60d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAttributes.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAttributes.java @@ -146,22 +146,6 @@ public class GridCacheAttributes implements Serializable { } /** - * @return Affinity hash ID resolver class name. - */ - public String affinityHashIdResolverClassName() { - AffinityFunction aff = ccfg.getAffinity(); - - if (aff instanceof RendezvousAffinityFunction) { - if (((RendezvousAffinityFunction) aff).getHashIdResolver() == null) - return null; - - return className(((RendezvousAffinityFunction) aff).getHashIdResolver()); - } - - return null; - } - - /** * @return Eviction filter class name. */ public String evictionFilterClassName() { http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/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 7c7d45f..8799fbb 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 @@ -49,7 +49,6 @@ import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.CacheRebalanceMode; import org.apache.ignite.cache.affinity.AffinityFunction; import org.apache.ignite.cache.affinity.AffinityFunctionContext; -import org.apache.ignite.cache.affinity.AffinityNodeAddressHashResolver; import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; import org.apache.ignite.cache.store.CacheStore; import org.apache.ignite.cache.store.CacheStoreSessionListener; @@ -243,15 +242,11 @@ public class GridCacheProcessor extends GridProcessorAdapter { if (cfg.getCacheMode() == PARTITIONED) { RendezvousAffinityFunction aff = new RendezvousAffinityFunction(); - aff.setHashIdResolver(new AffinityNodeAddressHashResolver()); - cfg.setAffinity(aff); } else if (cfg.getCacheMode() == REPLICATED) { RendezvousAffinityFunction aff = new RendezvousAffinityFunction(false, 512); - aff.setHashIdResolver(new AffinityNodeAddressHashResolver()); - cfg.setAffinity(aff); cfg.setBackups(Integer.MAX_VALUE); @@ -260,15 +255,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { cfg.setAffinity(new LocalAffinityFunction()); } else { - if (cfg.getCacheMode() != LOCAL) { - if (cfg.getAffinity() instanceof RendezvousAffinityFunction) { - RendezvousAffinityFunction aff = (RendezvousAffinityFunction)cfg.getAffinity(); - - if (aff.getHashIdResolver() == null) - aff.setHashIdResolver(new AffinityNodeAddressHashResolver()); - } - } - else if (cfg.getCacheMode() == LOCAL && !(cfg.getAffinity() instanceof LocalAffinityFunction)) { + if (cfg.getCacheMode() == LOCAL && !(cfg.getAffinity() instanceof LocalAffinityFunction)) { cfg.setAffinity(new LocalAffinityFunction()); U.warn(log, "AffinityFunction configuration parameter will be ignored for local cache" + @@ -3213,19 +3200,13 @@ public class GridCacheProcessor extends GridProcessorAdapter { Object topNodeHashObj = aff.resolveNodeHash(topNode); if (nodeHashObj.hashCode() == topNodeHashObj.hashCode()) { - String hashIdRslvrName = ""; - - if (aff.getHashIdResolver() != null) - hashIdRslvrName = ", hashIdResolverClass=" + - aff.getHashIdResolver().getClass().getName(); - String errMsg = "Failed to add node to topology because it has the same hash code for " + "partitioned affinity as one of existing nodes [cacheName=" + - U.maskName(cfg.getName()) + hashIdRslvrName + ", existingNodeId=" + topNode.id() + ']'; + U.maskName(cfg.getName()) + ", existingNodeId=" + topNode.id() + ']'; String sndMsg = "Failed to add node to topology because it has the same hash code for " + "partitioned affinity as one of existing nodes [cacheName=" + - U.maskName(cfg.getName()) + hashIdRslvrName + ", existingNodeId=" + topNode.id() + ']'; + U.maskName(cfg.getName()) + ", existingNodeId=" + topNode.id() + ']'; return new IgniteNodeValidationResult(topNode.id(), errMsg, sndMsg); } @@ -3337,25 +3318,6 @@ public class GridCacheProcessor extends GridProcessorAdapter { CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "affinityKeyBackups", "Affinity key backups", locAttr.affinityKeyBackups(), rmtAttr.affinityKeyBackups(), true); - - String locHashIdResolver = locAttr.affinityHashIdResolverClassName(); - String rmtHashIdResolver = rmtAttr.affinityHashIdResolverClassName(); - String defHashIdResolver = AffinityNodeAddressHashResolver.class.getName(); - - if (!((locHashIdResolver == null && rmtHashIdResolver == null) || - (locHashIdResolver == null && rmtHashIdResolver.equals(defHashIdResolver)) || - (rmtHashIdResolver == null && locHashIdResolver.equals(defHashIdResolver)))) { - - CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "cacheAffinity.hashIdResolver", - "Partitioned cache affinity hash ID resolver class", - locHashIdResolver, rmtHashIdResolver, true); - } - - if (locHashIdResolver == null && - (rmtHashIdResolver != null && rmtHashIdResolver.equals(defHashIdResolver))) { - U.warn(log, "Set " + RendezvousAffinityFunction.class + " with " + defHashIdResolver + - " to CacheConfiguration to start node [cacheName=" + rmtAttr.cacheName() + "]"); - } } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/main/resources/META-INF/classnames.properties ---------------------------------------------------------------------- diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties index 18584c5..93e5a8e 100644 --- a/modules/core/src/main/resources/META-INF/classnames.properties +++ b/modules/core/src/main/resources/META-INF/classnames.properties @@ -52,9 +52,6 @@ org.apache.ignite.cache.QueryIndexType org.apache.ignite.cache.affinity.AffinityFunction org.apache.ignite.cache.affinity.AffinityKey org.apache.ignite.cache.affinity.AffinityKeyMapper -org.apache.ignite.cache.affinity.AffinityNodeAddressHashResolver -org.apache.ignite.cache.affinity.AffinityNodeHashResolver -org.apache.ignite.cache.affinity.AffinityNodeIdHashResolver org.apache.ignite.cache.affinity.AffinityUuid org.apache.ignite.cache.affinity.fair.FairAffinityFunction org.apache.ignite.cache.affinity.fair.FairAffinityFunction$1 http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/test/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunctionSimpleBenchmark.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunctionSimpleBenchmark.java b/modules/core/src/test/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunctionSimpleBenchmark.java index 16f8e97..0d47676 100644 --- a/modules/core/src/test/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunctionSimpleBenchmark.java +++ b/modules/core/src/test/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunctionSimpleBenchmark.java @@ -32,10 +32,8 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; import org.apache.ignite.cache.affinity.AffinityFunction; import org.apache.ignite.cache.affinity.AffinityFunctionContext; -import org.apache.ignite.cache.affinity.AffinityNodeHashResolver; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.events.DiscoveryEvent; import org.apache.ignite.events.EventType; import org.apache.ignite.internal.IgniteNodeAttributes; @@ -653,9 +651,6 @@ public class RendezvousAffinityFunctionSimpleBenchmark extends GridCommonAbstrac * is primary). */ private IgniteBiPredicate<ClusterNode, List<ClusterNode>> affinityBackupFilter; - /** Hash ID resolver. */ - private AffinityNodeHashResolver hashIdRslvr = null; - /** Ignite instance. */ @IgniteInstanceResource private Ignite ignite; @@ -765,42 +760,6 @@ public class RendezvousAffinityFunctionSimpleBenchmark extends GridCommonAbstrac } /** - * Gets hash ID resolver for nodes. This resolver is used to provide - * alternate hash ID, other than node ID. - * <p> - * Node IDs constantly change when nodes get restarted, which causes them to - * be placed on different locations in the hash ring, and hence causing - * repartitioning. Providing an alternate hash ID, which survives node restarts, - * puts node on the same location on the hash ring, hence minimizing required - * repartitioning. - * - * @return Hash ID resolver. - */ - @Deprecated - public AffinityNodeHashResolver getHashIdResolver() { - return hashIdRslvr; - } - - /** - * Sets hash ID resolver for nodes. This resolver is used to provide - * alternate hash ID, other than node ID. - * <p> - * Node IDs constantly change when nodes get restarted, which causes them to - * be placed on different locations in the hash ring, and hence causing - * repartitioning. Providing an alternate hash ID, which survives node restarts, - * puts node on the same location on the hash ring, hence minimizing required - * repartitioning. - * - * @param hashIdRslvr Hash ID resolver. - * - * @deprecated Use {@link IgniteConfiguration#setConsistentId(Serializable)} instead. - */ - @Deprecated - public void setHashIdResolver(AffinityNodeHashResolver hashIdRslvr) { - this.hashIdRslvr = hashIdRslvr; - } - - /** * Gets optional backup filter. If not {@code null}, backups will be selected * from all nodes that pass this filter. First node passed to this filter is primary node, * and second node is a node being tested. @@ -886,10 +845,7 @@ public class RendezvousAffinityFunctionSimpleBenchmark extends GridCommonAbstrac * @return Node hash. */ public Object resolveNodeHash(ClusterNode node) { - if (hashIdRslvr != null) - return hashIdRslvr.resolve(node); - else - return node.consistentId(); + return node.consistentId(); } /** @@ -1070,7 +1026,6 @@ public class RendezvousAffinityFunctionSimpleBenchmark extends GridCommonAbstrac @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeInt(parts); out.writeBoolean(exclNeighbors); - out.writeObject(hashIdRslvr); out.writeObject(backupFilter); } @@ -1079,7 +1034,6 @@ public class RendezvousAffinityFunctionSimpleBenchmark extends GridCommonAbstrac @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { parts = in.readInt(); exclNeighbors = in.readBoolean(); - hashIdRslvr = (AffinityNodeHashResolver)in.readObject(); backupFilter = (IgniteBiPredicate<ClusterNode, ClusterNode>)in.readObject(); } http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java index 59a5ebb..6a153b3 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConfigurationConsistencySelfTest.java @@ -26,7 +26,6 @@ import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.cache.CacheInterceptorAdapter; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.affinity.AffinityFunction; -import org.apache.ignite.cache.affinity.AffinityNodeIdHashResolver; import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; import org.apache.ignite.cache.eviction.EvictionFilter; import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicy; @@ -537,19 +536,6 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac return startGrid(2); } }, IgniteCheckedException.class, "Affinity partitions count mismatch"); - - // Different hash ID resolver. - RendezvousAffinityFunction aff0 = new RendezvousAffinityFunction(false, 100); - - aff0.setHashIdResolver(new AffinityNodeIdHashResolver()); - - aff = aff0; - - GridTestUtils.assertThrows(log, new Callable<Object>() { - @Override public Object call() throws Exception { - return startGrid(2); - } - }, IgniteCheckedException.class, "Partitioned cache affinity hash ID resolver class mismatch"); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedAffinityHashIdResolverSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedAffinityHashIdResolverSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedAffinityHashIdResolverSelfTest.java deleted file mode 100644 index 9a2b126..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedAffinityHashIdResolverSelfTest.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache.distributed.near; - -import java.util.concurrent.Callable; -import org.apache.ignite.IgniteCheckedException; -import org.apache.ignite.cache.affinity.AffinityNodeHashResolver; -import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; -import org.apache.ignite.cluster.ClusterNode; -import org.apache.ignite.configuration.CacheConfiguration; -import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; -import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; -import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; -import org.apache.ignite.testframework.GridTestUtils; -import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; - -import static org.apache.ignite.cache.CacheMode.PARTITIONED; - -/** - * Partitioned affinity hash ID resolver self test. - */ -public class GridCachePartitionedAffinityHashIdResolverSelfTest extends GridCommonAbstractTest { - /** Shared IP finder. */ - private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true); - - /** Hash ID resolver. */ - private AffinityNodeHashResolver rslvr; - - /** {@inheritDoc} */ - @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { - RendezvousAffinityFunction aff = new RendezvousAffinityFunction(); - - aff.setHashIdResolver(rslvr); - - CacheConfiguration cacheCfg = defaultCacheConfiguration(); - - cacheCfg.setCacheMode(PARTITIONED); - cacheCfg.setAffinity(aff); - - TcpDiscoverySpi disco = new TcpDiscoverySpi(); - - disco.setIpFinder(ipFinder); - - IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); - - cfg.setCacheConfiguration(cacheCfg); - cfg.setDiscoverySpi(disco); - - return cfg; - } - - /** {@inheritDoc} */ - @Override protected void afterTest() throws Exception { - stopAllGrids(); - } - - /** - * Test when there is duplicate hash IDs. - * - * @throws Exception If failed. - */ - public void testDuplicateId() throws Exception { - rslvr = new BogusHashResolver(); - - startGrid(0); - - GridTestUtils.assertThrows(log, new Callable<Object>() { - @Override public Object call() throws Exception { - startGrid(1); - - return null; - } - }, IgniteCheckedException.class, "Failed to start manager: GridManagerAdapter [enabled=true, name=" + - "org.apache.ignite.internal.managers.discovery.GridDiscoveryManager]"); - } - - /** - * - */ - private static class BogusHashResolver implements AffinityNodeHashResolver { - /** {@inheritDoc} */ - @Override public Object resolve(ClusterNode node) { - return 1; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/7d90c06f/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java index b94b464..e9cf028 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java @@ -86,7 +86,6 @@ import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNea import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearReaderPreloadSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearReadersSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheNearTxForceKeyTest; -import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedAffinityHashIdResolverSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedAffinitySelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedAtomicGetAndTransformStoreSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedBasicApiTest; @@ -225,7 +224,6 @@ public class IgniteCacheTestSuite2 extends TestSuite { suite.addTest(new TestSuite(GridCachePartitionedTopologyChangeSelfTest.class)); suite.addTest(new TestSuite(GridCachePartitionedPreloadEventsSelfTest.class)); suite.addTest(new TestSuite(GridCachePartitionedUnloadEventsSelfTest.class)); - suite.addTest(new TestSuite(GridCachePartitionedAffinityHashIdResolverSelfTest.class)); suite.addTest(new TestSuite(GridCacheColocatedOptimisticTransactionSelfTest.class)); suite.addTestSuite(GridCacheAtomicMessageCountSelfTest.class); suite.addTest(new TestSuite(GridCacheNearPartitionedClearSelfTest.class));
