int grids = 9; startGrids(grids); final Ignite g = grid(i); assertEquals(grids, top.size()); assertEquals(idx, n.order()); Collection<? extends ClusterNode> affNodes = nodes(aff, key); info("Affinity picture for grid [i=" + i + ", aff=" + U.toShortString(affNodes)); assertEquals(copies, affNodes.size()); macs.add((String)node.attribute(IgniteNodeAttributes.ATTR_MACS)); assertEquals(copies, macs.size()); stopAllGrids();
/** * @throws Exception If failed. */ @Test public void testAffinitySingleNode() throws Exception { Ignite g = startGrid(); try { Object key = 12345; Collection<? extends ClusterNode> affNodes = nodes(g.affinity(DEFAULT_CACHE_NAME), key); info("Affinity picture for grid: " + U.toShortString(affNodes)); assertEquals(1, affNodes.size()); } finally { stopAllGrids(); } } }
/** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(final String igniteInstanceName) throws Exception { IgniteConfiguration c = super.getConfiguration(igniteInstanceName); // Override node attributes in discovery spi. TcpDiscoverySpi spi = new TcpDiscoverySpi() { @Override public void setNodeAttributes(Map<String, Object> attrs, IgniteProductVersion ver) { super.setNodeAttributes(attrs, ver); // Set unique mac addresses for every group of three nodes. String macAddrs = "MOCK_MACS_" + (gridInstanceNum / 3); attrs.put(IgniteNodeAttributes.ATTR_MACS, macAddrs); gridInstanceNum++; } }; spi.setIpFinder(sharedStaticIpFinder); c.setDiscoverySpi(spi); CacheConfiguration cc = defaultCacheConfiguration(); cc.setCacheMode(PARTITIONED); cc.setBackups(backups); cc.setAffinity(affinityFunction()); cc.setRebalanceMode(NONE); c.setCacheConfiguration(cc); return c; }