http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java index b0353a6..5345a9b 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java @@ -18,8 +18,6 @@ package org.apache.ignite.spi.communication.tcp; import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; -import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.spi.GridSpiAbstractConfigTest; import org.apache.ignite.testframework.junits.spi.GridSpiTest; @@ -47,6 +45,9 @@ public class GridTcpCommunicationSpiConfigSelfTest extends GridSpiAbstractConfig checkNegativeSpiProperty(new TcpCommunicationSpi(), "ackSendThreshold", 0); checkNegativeSpiProperty(new TcpCommunicationSpi(), "ackSendThreshold", -1); checkNegativeSpiProperty(new TcpCommunicationSpi(), "unacknowledgedMessagesBufferSize", -1); + checkNegativeSpiProperty(new TcpCommunicationSpi(), "connectionsPerNode", 0); + checkNegativeSpiProperty(new TcpCommunicationSpi(), "connectionsPerNode", -1); + checkNegativeSpiProperty(new TcpCommunicationSpi(), "connectionsPerNode", Integer.MAX_VALUE); } /**
http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java index a74a07a..0c57105 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java @@ -109,7 +109,7 @@ public class GridTcpCommunicationSpiMultithreadedSelfTest extends GridSpiAbstrac /** * @param useShmem Use shared mem. */ - protected GridTcpCommunicationSpiMultithreadedSelfTest(boolean useShmem) { + GridTcpCommunicationSpiMultithreadedSelfTest(boolean useShmem) { super(false); this.useShmem = useShmem; @@ -370,17 +370,17 @@ public class GridTcpCommunicationSpiMultithreadedSelfTest extends GridSpiAbstrac Collection<? extends GridNioSession> sessions = GridTestUtils.getFieldValue(srv, "sessions"); for (GridNioSession ses : sessions) { - final GridNioRecoveryDescriptor snd = ses.recoveryDescriptor(); + final GridNioRecoveryDescriptor snd = ses.outRecoveryDescriptor(); if (snd != null) { GridTestUtils.waitForCondition(new GridAbsPredicate() { @Override public boolean apply() { - return snd.messagesFutures().isEmpty(); + return snd.messagesRequests().isEmpty(); } }, 10_000); - assertEquals("Unexpected messages: " + snd.messagesFutures(), 0, - snd.messagesFutures().size()); + assertEquals("Unexpected messages: " + snd.messagesRequests(), 0, + snd.messagesRequests().size()); } } } @@ -547,11 +547,18 @@ public class GridTcpCommunicationSpiMultithreadedSelfTest extends GridSpiAbstrac } for (CommunicationSpi spi : spis.values()) { - final ConcurrentMap<UUID, GridCommunicationClient> clients = U.field(spi, "clients"); + final ConcurrentMap<UUID, GridCommunicationClient[]> clients = U.field(spi, "clients"); assert GridTestUtils.waitForCondition(new PA() { @Override public boolean apply() { - return clients.isEmpty(); + for (GridCommunicationClient[] clients0 : clients.values()) { + for (GridCommunicationClient client : clients0) { + if (client != null) + return false; + } + } + + return true; } }, getTestTimeout()) : "Clients: " + clients; } @@ -583,4 +590,4 @@ public class GridTcpCommunicationSpiMultithreadedSelfTest extends GridSpiAbstrac spis.clear(); nodes.clear(); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java index 34872c6..12c2edb 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java @@ -173,7 +173,7 @@ public class GridTcpCommunicationSpiRecoveryAckSelfTest<T extends CommunicationS boolean found = false; for (GridNioSession ses : sessions) { - final GridNioRecoveryDescriptor recoveryDesc = ses.recoveryDescriptor(); + final GridNioRecoveryDescriptor recoveryDesc = ses.outRecoveryDescriptor(); if (recoveryDesc != null) { found = true; @@ -188,12 +188,12 @@ public class GridTcpCommunicationSpiRecoveryAckSelfTest<T extends CommunicationS GridTestUtils.waitForCondition(new GridAbsPredicate() { @Override public boolean apply() { - return recoveryDesc.messagesFutures().isEmpty(); + return recoveryDesc.messagesRequests().isEmpty(); } }, 10_000); - assertEquals("Unexpected messages: " + recoveryDesc.messagesFutures(), 0, - recoveryDesc.messagesFutures().size()); + assertEquals("Unexpected messages: " + recoveryDesc.messagesRequests(), 0, + recoveryDesc.messagesRequests().size()); break; } @@ -361,6 +361,7 @@ public class GridTcpCommunicationSpiRecoveryAckSelfTest<T extends CommunicationS spi.setAckSendThreshold(ackCnt); spi.setMessageQueueLimit(queueLimit); spi.setSharedMemoryPort(-1); + spi.setConnectionsPerNode(1); return spi; } http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryFailureDetectionSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryFailureDetectionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryFailureDetectionSelfTest.java index 95c9e40..b1aa119 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryFailureDetectionSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryFailureDetectionSelfTest.java @@ -33,6 +33,7 @@ public class GridTcpCommunicationSpiRecoveryFailureDetectionSelfTest extends Gri spi.setAckSendThreshold(5); spi.setSocketSendBuffer(512); spi.setSocketReceiveBuffer(512); + spi.setConnectionsPerNode(1); return spi; } http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryNoPairedConnectionsTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryNoPairedConnectionsTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryNoPairedConnectionsTest.java new file mode 100644 index 0000000..8e43937 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryNoPairedConnectionsTest.java @@ -0,0 +1,28 @@ +/* + * 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.spi.communication.tcp; + +/** + * + */ +public class GridTcpCommunicationSpiRecoveryNoPairedConnectionsTest extends GridTcpCommunicationSpiRecoverySelfTest { + /** {@inheritDoc} */ + @Override protected boolean usePairedConnections() { + return false; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java index 3234d74..065a3d7 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java @@ -56,6 +56,7 @@ import org.eclipse.jetty.util.ConcurrentHashSet; /** * */ +@SuppressWarnings("unchecked") @GridSpiTest(spi = TcpCommunicationSpi.class, group = "Communication SPI") public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> extends GridSpiAbstractTest<T> { /** */ @@ -305,14 +306,14 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> log.info("Iteration: " + i); try { - final GridNioSession ses0 = communicationSession(spi0); - final GridNioSession ses1 = communicationSession(spi1); + final GridNioSession ses0 = communicationSession(spi0, false); + final GridNioSession ses1 = communicationSession(spi1, true); ses1.pauseReads().get(); IgniteInternalFuture<?> sndFut = GridTestUtils.runAsync(new Callable<Void>() { @Override public Void call() throws Exception { - for (int i = 0; i < 5000; i++) { + for (int i = 0; i < 6000; i++) { spi0.sendMessage(node1, new GridTestMessage(node0.id(), msgId.incrementAndGet(), 0)); sentCnt.incrementAndGet(); @@ -331,7 +332,12 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> assertTrue("Failed to wait for session close", ses0.closeTime() != 0); - ses1.resumeReads().get(); + try { + ses1.resumeReads().get(); + } + catch (IgniteCheckedException ignore) { + // Can fail is ses1 was closed. + } for (int j = 0; j < 100; j++) { spi0.sendMessage(node1, new GridTestMessage(node0.id(), msgId.incrementAndGet(), 0)); @@ -415,14 +421,14 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> log.info("Iteration: " + i); try { - final GridNioSession ses0 = communicationSession(spi0); - final GridNioSession ses1 = communicationSession(spi1); + final GridNioSession ses0 = communicationSession(spi0, false); + final GridNioSession ses1 = communicationSession(spi1, true); ses1.pauseReads().get(); IgniteInternalFuture<?> sndFut = GridTestUtils.runAsync(new Callable<Void>() { @Override public Void call() throws Exception { - for (int i = 0; i < 5000; i++) { + for (int i = 0; i < 6000; i++) { spi0.sendMessage(node1, new GridTestMessage(node0.id(), msgId.incrementAndGet(), 0)); expCnt1.incrementAndGet(); @@ -441,12 +447,16 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> assertTrue("Failed to wait for session close", ses0.closeTime() != 0); - ses1.resumeReads().get(); + try { + ses1.resumeReads().get(); + } + catch (IgniteCheckedException ignore) { + // Can fail is ses1 was closed. + } // Wait when session is closed, then try to open new connection from node1. GridTestUtils.waitForCondition(new GridAbsPredicate() { - @Override - public boolean apply() { + @Override public boolean apply() { return ses1.closeTime() != 0; } }, awaitForSocketWriteTimeout()); @@ -532,14 +542,14 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> log.info("Iteration: " + i); try { - final GridNioSession ses0 = communicationSession(spi0); - final GridNioSession ses1 = communicationSession(spi1); + final GridNioSession ses0 = communicationSession(spi0, false); + final GridNioSession ses1 = communicationSession(spi1, true); ses1.pauseReads().get(); IgniteInternalFuture<?> sndFut = GridTestUtils.runAsync(new Callable<Void>() { @Override public Void call() throws Exception { - for (int i = 0; i < 5000; i++) { + for (int i = 0; i < 6000; i++) { spi0.sendMessage(node1, new GridTestMessage(node0.id(), msgId.incrementAndGet(), 0)); sentCnt.incrementAndGet(); @@ -558,7 +568,12 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> assertTrue("Failed to wait for session close", ses0.closeTime() != 0); - ses1.resumeReads().get(); + try { + ses1.resumeReads().get(); + } + catch (IgniteCheckedException ignore) { + // Can fail is ses1 was closed. + } sndFut.get(); @@ -605,11 +620,12 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> /** * @param spi SPI. + * @param in {@code True} if need find inbound session. * @return Session. * @throws Exception If failed. */ @SuppressWarnings("unchecked") - private GridNioSession communicationSession(TcpCommunicationSpi spi) throws Exception { + private GridNioSession communicationSession(TcpCommunicationSpi spi, boolean in) throws Exception { final GridNioServer srv = U.field(spi, "nioSrvr"); GridTestUtils.waitForCondition(new GridAbsPredicate() { @@ -622,9 +638,21 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> Collection<? extends GridNioSession> sessions = GridTestUtils.getFieldValue(srv, "sessions"); - assertEquals(1, sessions.size()); + for (GridNioSession ses : sessions) { + if (in == ses.accepted()) + return ses; + } + + fail("Failed to find session"); - return sessions.iterator().next(); + return null; + } + + /** + * @return {@code True}. + */ + protected boolean usePairedConnections() { + return true; } /** @@ -642,6 +670,8 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> spi.setSocketWriteTimeout(1000); spi.setSocketSendBuffer(512); spi.setSocketReceiveBuffer(512); + spi.setConnectionsPerNode(1); + spi.setUsePairedConnections(usePairedConnections()); return spi; } @@ -748,9 +778,8 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T extends CommunicationSpi> spi.spiStop(); } - for (IgniteTestResources rsrcs : spiRsrcs) { + for (IgniteTestResources rsrcs : spiRsrcs) rsrcs.stopThreads(); - } spis.clear(); nodes.clear(); http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java index 25e3611..c4930a0 100644 --- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java @@ -187,7 +187,7 @@ public class IgniteTcpCommunicationRecoveryAckClosureSelfTest<T extends Communic boolean found = false; for (GridNioSession ses : sessions) { - final GridNioRecoveryDescriptor recoveryDesc = ses.recoveryDescriptor(); + final GridNioRecoveryDescriptor recoveryDesc = ses.outRecoveryDescriptor(); if (recoveryDesc != null) { found = true; @@ -202,12 +202,12 @@ public class IgniteTcpCommunicationRecoveryAckClosureSelfTest<T extends Communic GridTestUtils.waitForCondition(new GridAbsPredicate() { @Override public boolean apply() { - return recoveryDesc.messagesFutures().isEmpty(); + return recoveryDesc.messagesRequests().isEmpty(); } }, 10_000); - assertEquals("Unexpected messages: " + recoveryDesc.messagesFutures(), 0, - recoveryDesc.messagesFutures().size()); + assertEquals("Unexpected messages: " + recoveryDesc.messagesRequests(), 0, + recoveryDesc.messagesRequests().size()); break; } @@ -397,6 +397,7 @@ public class IgniteTcpCommunicationRecoveryAckClosureSelfTest<T extends Communic spi.setAckSendThreshold(ackCnt); spi.setMessageQueueLimit(queueLimit); spi.setSharedMemoryPort(-1); + spi.setConnectionsPerNode(1); return spi; } http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java index f9e2ff4..143159d 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridTestKernalContext.java @@ -63,7 +63,9 @@ public class GridTestKernalContext extends GridKernalContextImpl { null, null, null, - U.allPluginProviders()); + null, + U.allPluginProviders() + ); GridTestUtils.setFieldValue(grid(), "cfg", config()); http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java index 14e5833..17757ab 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java @@ -57,6 +57,7 @@ import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAto import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderFairAffinityMultiNodeFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderMultiNodeFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderMultiNodeP2PDisabledFullApiSelfTest; +import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderOffHeapFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWriteOrderOffHeapTieredFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCacheAtomicPrimaryWrityOrderOffHeapMultiNodeFullApiSelfTest; @@ -77,6 +78,7 @@ import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePar import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedMultiNodeP2PDisabledFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.CachePartitionedNearEnabledMultiNodeLongTxTimeoutFullApiTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedNearOnlyNoPrimaryFullApiSelfTest; +import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedNoStripedPoolMultiNodeFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedOffHeapFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedOffHeapMultiNodeFullApiSelfTest; import org.apache.ignite.internal.processors.cache.distributed.near.GridCachePartitionedOffHeapTieredFullApiSelfTest; @@ -228,6 +230,10 @@ public class IgniteCacheFullApiSelfTestSuite extends TestSuite { suite.addTestSuite(GridCacheReplicatedFullApiMultithreadedSelfTest.class); suite.addTestSuite(GridCachePartitionedFullApiMultithreadedSelfTest.class); + // Disabled striped pool. + suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest.class); + suite.addTestSuite(GridCachePartitionedNoStripedPoolMultiNodeFullApiSelfTest.class); + // Other. suite.addTestSuite(GridCacheClearSelfTest.class); http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java index 435fcfb..554bb3d 100755 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java @@ -39,6 +39,10 @@ import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreOptimizedMarshallerW import org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreTest; import org.apache.ignite.cache.store.jdbc.GridCacheJdbcBlobStoreMultithreadedSelfTest; import org.apache.ignite.cache.store.jdbc.GridCacheJdbcBlobStoreSelfTest; +import org.apache.ignite.internal.managers.communication.IgniteCommunicationBalanceMultipleConnectionsTest; +import org.apache.ignite.internal.managers.communication.IgniteCommunicationBalanceTest; +import org.apache.ignite.internal.managers.communication.IgniteIoTestMessagesTest; +import org.apache.ignite.internal.managers.communication.IgniteVariousConnectionNumberTest; import org.apache.ignite.internal.processors.cache.CacheAffinityCallSelfTest; import org.apache.ignite.internal.processors.cache.CacheDeferredDeleteSanitySelfTest; import org.apache.ignite.internal.processors.cache.CacheEntryProcessorCopySelfTest; @@ -128,7 +132,10 @@ import org.apache.ignite.internal.processors.cache.context.IgniteCacheTxExecutio import org.apache.ignite.internal.processors.cache.distributed.CacheAtomicNearUpdateTopologyChangeTest; import org.apache.ignite.internal.processors.cache.distributed.CacheTxNearUpdateTopologyChangeTest; import org.apache.ignite.internal.processors.cache.distributed.GridCacheEntrySetIterationPreloadingSelfTest; +import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheAtomicMessageRecovery10ConnectionsTest; +import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheAtomicMessageRecoveryNoPairedConnectionsTest; import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheAtomicMessageRecoveryTest; +import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheConnectionRecovery10ConnectionsTest; import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheConnectionRecoveryTest; import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheMessageRecoveryIdleConnectionTest; import org.apache.ignite.internal.processors.cache.distributed.IgniteCacheMessageWriteTimeoutTest; @@ -259,7 +266,7 @@ public class IgniteCacheTestSuite extends TestSuite { suite.addTestSuite(GridCacheStoreValueBytesSelfTest.class); GridTestUtils.addTestIfNeeded(suite, DataStreamProcessorSelfTest.class, ignoredTests); GridTestUtils.addTestIfNeeded(suite, DataStreamerUpdateAfterLoadTest.class, ignoredTests); - suite.addTestSuite(DataStreamerMultiThreadedSelfTest.class); + suite.addTestSuite(DataStreamerMultiThreadedSelfTest.class); suite.addTestSuite(DataStreamerMultinodeCreateCacheTest.class); suite.addTestSuite(DataStreamerImplSelfTest.class); suite.addTestSuite(DataStreamerTimeoutTest.class); @@ -292,10 +299,13 @@ public class IgniteCacheTestSuite extends TestSuite { suite.addTestSuite(GridCacheEntrySetIterationPreloadingSelfTest.class); suite.addTestSuite(GridCacheMixedPartitionExchangeSelfTest.class); suite.addTestSuite(IgniteCacheAtomicMessageRecoveryTest.class); + suite.addTestSuite(IgniteCacheAtomicMessageRecoveryNoPairedConnectionsTest.class); + suite.addTestSuite(IgniteCacheAtomicMessageRecovery10ConnectionsTest.class); suite.addTestSuite(IgniteCacheTxMessageRecoveryTest.class); suite.addTestSuite(IgniteCacheMessageWriteTimeoutTest.class); suite.addTestSuite(IgniteCacheMessageRecoveryIdleConnectionTest.class); suite.addTestSuite(IgniteCacheConnectionRecoveryTest.class); + suite.addTestSuite(IgniteCacheConnectionRecovery10ConnectionsTest.class); GridTestUtils.addTestIfNeeded(suite, GridCacheOffHeapTieredEvictionAtomicSelfTest.class, ignoredTests); GridTestUtils.addTestIfNeeded(suite, GridCacheOffHeapTieredEvictionSelfTest.class, ignoredTests); GridTestUtils.addTestIfNeeded(suite, GridCacheOffHeapTieredAtomicSelfTest.class, ignoredTests); @@ -325,6 +335,11 @@ public class IgniteCacheTestSuite extends TestSuite { suite.addTestSuite(CacheTxFastFinishTest.class); + suite.addTestSuite(IgniteVariousConnectionNumberTest.class); + suite.addTestSuite(IgniteCommunicationBalanceTest.class); + suite.addTestSuite(IgniteCommunicationBalanceMultipleConnectionsTest.class); + suite.addTestSuite(IgniteIoTestMessagesTest.class); + return suite; } } http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiCommunicationSelfTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiCommunicationSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiCommunicationSelfTestSuite.java index c557fbb..11fcfda 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiCommunicationSelfTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiCommunicationSelfTestSuite.java @@ -25,6 +25,7 @@ import org.apache.ignite.spi.communication.tcp.GridTcpCommunicationSpiMultithrea import org.apache.ignite.spi.communication.tcp.GridTcpCommunicationSpiMultithreadedShmemTest; import org.apache.ignite.spi.communication.tcp.GridTcpCommunicationSpiRecoveryAckSelfTest; import org.apache.ignite.spi.communication.tcp.GridTcpCommunicationSpiRecoveryFailureDetectionSelfTest; +import org.apache.ignite.spi.communication.tcp.GridTcpCommunicationSpiRecoveryNoPairedConnectionsTest; import org.apache.ignite.spi.communication.tcp.GridTcpCommunicationSpiRecoverySelfTest; import org.apache.ignite.spi.communication.tcp.GridTcpCommunicationSpiRecoverySslSelfTest; import org.apache.ignite.spi.communication.tcp.GridTcpCommunicationSpiShmemSelfTest; @@ -50,6 +51,7 @@ public class IgniteSpiCommunicationSelfTestSuite extends TestSuite { suite.addTest(new TestSuite(GridTcpCommunicationSpiRecoveryAckSelfTest.class)); suite.addTest(new TestSuite(IgniteTcpCommunicationRecoveryAckClosureSelfTest.class)); suite.addTest(new TestSuite(GridTcpCommunicationSpiRecoverySelfTest.class)); + suite.addTest(new TestSuite(GridTcpCommunicationSpiRecoveryNoPairedConnectionsTest.class)); suite.addTest(new TestSuite(GridTcpCommunicationSpiRecoverySslSelfTest.class)); suite.addTest(new TestSuite(GridTcpCommunicationSpiConcurrentConnectSelfTest.class)); http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java index a725534..9542372 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/jobtracker/HadoopJobTracker.java @@ -240,7 +240,7 @@ public class HadoopJobTracker extends HadoopComponent { try { // Must process query callback in a separate thread to avoid deadlocks. - evtProcSvc.submit(new EventHandler() { + evtProcSvc.execute(new EventHandler() { @Override protected void body() throws IgniteCheckedException { processJobMetadataUpdates(evts); } @@ -264,7 +264,7 @@ public class HadoopJobTracker extends HadoopComponent { try { // Must process discovery callback in a separate thread to avoid deadlock. - evtProcSvc.submit(new EventHandler() { + evtProcSvc.execute(new EventHandler() { @Override protected void body() { processNodeLeft((DiscoveryEvent)evt); } http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopExternalCommunication.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopExternalCommunication.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopExternalCommunication.java index bc047e7..ff58509 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopExternalCommunication.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopExternalCommunication.java @@ -639,6 +639,7 @@ public class HadoopExternalCommunication { .logger(log.getLogger(GridNioServer.class)) .selectorCount(selectorsCnt) .gridName(gridName) + .serverName("hadoop") .tcpNoDelay(tcpNoDelay) .directBuffer(directBuf) .byteOrder(ByteOrder.nativeOrder()) @@ -1305,11 +1306,11 @@ public class HadoopExternalCommunication { } /** {@inheritDoc} */ - @Override public GridNioFuture<?> onSessionWrite(GridNioSession ses, Object msg) throws IgniteCheckedException { + @Override public GridNioFuture<?> onSessionWrite(GridNioSession ses, Object msg, boolean fut) throws IgniteCheckedException { if (ses.meta(PROCESS_META) == null && !(msg instanceof ProcessHandshakeMessage)) log.warning("Writing message before handshake has finished [ses=" + ses + ", msg=" + msg + ']'); - return proceedSessionWrite(ses, msg); + return proceedSessionWrite(ses, msg, fut); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopIpcToNioAdapter.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopIpcToNioAdapter.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopIpcToNioAdapter.java index a8de999..3f33fb7 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopIpcToNioAdapter.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopIpcToNioAdapter.java @@ -190,7 +190,7 @@ public class HadoopIpcToNioAdapter<T> { } /** {@inheritDoc} */ - @Override public GridNioFuture<?> onSessionWrite(GridNioSession ses, Object msg) { + @Override public GridNioFuture<?> onSessionWrite(GridNioSession ses, Object msg, boolean fut) { assert ses == HadoopIpcToNioAdapter.this.ses : "ses=" + ses + ", this.ses=" + HadoopIpcToNioAdapter.this.ses; http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java index eeca564..24bba88 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java @@ -57,10 +57,10 @@ public class HadoopMarshallerFilter extends GridNioFilterAdapter { } /** {@inheritDoc} */ - @Override public GridNioFuture<?> onSessionWrite(GridNioSession ses, Object msg) throws IgniteCheckedException { + @Override public GridNioFuture<?> onSessionWrite(GridNioSession ses, Object msg, boolean fut) throws IgniteCheckedException { assert msg instanceof HadoopMessage : "Invalid message type: " + msg; - return proceedSessionWrite(ses, U.marshal(marsh, msg)); + return proceedSessionWrite(ses, U.marshal(marsh, msg), fut); } @Override public void onMessageReceived(GridNioSession ses, Object msg) throws IgniteCheckedException { @@ -84,4 +84,4 @@ public class HadoopMarshallerFilter extends GridNioFilterAdapter { @Override public void onSessionWriteTimeout(GridNioSession ses) throws IgniteCheckedException { proceedSessionWriteTimeout(ses); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java ---------------------------------------------------------------------- diff --git a/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java b/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java index f46ee93..221538c 100644 --- a/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java +++ b/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java @@ -169,7 +169,7 @@ public class KafkaStreamer<T, K, V> extends StreamAdapter<T, K, V> { // Now create an object to consume the messages. for (final KafkaStream<K, V> stream : streams) { - executor.submit(new Runnable() { + executor.execute(new Runnable() { @Override public void run() { while (!stopped) { try { http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java ---------------------------------------------------------------------- diff --git a/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java b/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java index 0b10a75..369e318 100644 --- a/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java +++ b/modules/tools/src/main/java/org/apache/ignite/tools/classgen/ClassesGenerator.java @@ -122,7 +122,11 @@ public class ClassesGenerator { for (String err : errs) sb.append(" ").append(err).append('\n'); - throw new Exception(sb.toString().trim()); + String msg = sb.toString().trim(); + + System.out.println(msg); + + throw new Exception(msg); } PrintStream out = new PrintStream(new File(basePath, @@ -246,4 +250,4 @@ public class ClassesGenerator { } } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkUtils.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkUtils.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkUtils.java index 54ef00d..07549d5 100644 --- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkUtils.java +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkUtils.java @@ -30,7 +30,7 @@ import org.apache.ignite.transactions.TransactionConcurrency; import org.apache.ignite.transactions.TransactionIsolation; import org.apache.ignite.transactions.TransactionOptimisticException; import org.apache.ignite.transactions.TransactionRollbackException; -import org.apache.ignite.yardstick.cache.IgniteSqlQueryBenchmark; +import org.apache.ignite.yardstick.cache.IgnitePutBenchmark; import org.yardstickframework.BenchmarkDriver; import org.yardstickframework.BenchmarkDriverStartUp; @@ -89,13 +89,13 @@ public class IgniteBenchmarkUtils { public static void main(String[] args) throws Exception { final String cfg = "modules/yardstick/config/ignite-localhost-config.xml"; - final Class<? extends BenchmarkDriver> benchmark = IgniteSqlQueryBenchmark.class; + final Class<? extends BenchmarkDriver> benchmark = IgnitePutBenchmark.class; final int threads = 1; final boolean clientDriverNode = true; - final int extraNodes = 2; + final int extraNodes = 4; final int warmUp = 5; final int duration = 5; http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/CacheEntryEventProbe.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/CacheEntryEventProbe.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/CacheEntryEventProbe.java index a25f975..c8022e2 100644 --- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/CacheEntryEventProbe.java +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/CacheEntryEventProbe.java @@ -72,7 +72,7 @@ public class CacheEntryEventProbe implements BenchmarkProbe { buildingService = Executors.newSingleThreadExecutor(); - buildingService.submit(new Runnable() { + buildingService.execute(new Runnable() { @Override public void run() { try { while (!Thread.currentThread().isInterrupted()) { http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteIoTestBenchmark.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteIoTestBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteIoTestBenchmark.java new file mode 100644 index 0000000..bee45e0 --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgniteIoTestBenchmark.java @@ -0,0 +1,73 @@ +/* + * 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.yardstick.cache; + +import org.apache.ignite.IgniteException; +import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.internal.IgniteKernal; +import org.apache.ignite.yardstick.IgniteAbstractBenchmark; +import org.yardstickframework.BenchmarkConfiguration; +import org.yardstickframework.BenchmarkUtils; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * + */ +public class IgniteIoTestBenchmark extends IgniteAbstractBenchmark { + /** */ + private List<ClusterNode> targetNodes; + + /** */ + private IgniteKernal ignite; + + /** {@inheritDoc} */ + @Override public void setUp(BenchmarkConfiguration cfg) throws Exception { + super.setUp(cfg); + + ignite = (IgniteKernal)ignite(); + + targetNodes = new ArrayList<>(); + + ClusterNode loc = ignite().cluster().localNode(); + + Collection<ClusterNode> nodes = ignite().cluster().forServers().nodes(); + + for (ClusterNode node : nodes) { + if (!loc.equals(node)) + targetNodes.add(node); + } + + if (targetNodes.isEmpty()) + throw new IgniteException("Failed to find remote server nodes [nodes=" + nodes + ']'); + + BenchmarkUtils.println(cfg, "Initialized target nodes: " + targetNodes + ']'); + } + + /** {@inheritDoc} */ + @Override public boolean test(Map<Object, Object> ctx) throws Exception { + ClusterNode node = targetNodes.get(nextRandom(targetNodes.size())); + + ignite.sendIoTest(node, null, false).get(); + + return true; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestAbstractBenchmark.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestAbstractBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestAbstractBenchmark.java new file mode 100644 index 0000000..8791c83 --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestAbstractBenchmark.java @@ -0,0 +1,61 @@ +/* + * 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.yardstick.io; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import org.apache.ignite.IgniteException; +import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.internal.IgniteKernal; +import org.apache.ignite.internal.util.typedef.F; +import org.apache.ignite.yardstick.IgniteAbstractBenchmark; +import org.yardstickframework.BenchmarkConfiguration; +import org.yardstickframework.BenchmarkUtils; + +/** + * + */ +public abstract class IgniteIoTestAbstractBenchmark extends IgniteAbstractBenchmark { + /** */ + protected final List<ClusterNode> targetNodes = new ArrayList<>(); + + /** */ + protected IgniteKernal ignite; + + /** {@inheritDoc} */ + @Override public void setUp(BenchmarkConfiguration cfg) throws Exception { + super.setUp(cfg); + + ignite = (IgniteKernal)ignite(); + + ClusterNode loc = ignite().cluster().localNode(); + + Collection<ClusterNode> nodes = ignite().cluster().forServers().nodes(); + + for (ClusterNode node : nodes) { + if (!loc.equals(node)) + targetNodes.add(node); + } + + if (targetNodes.isEmpty()) + throw new IgniteException("Failed to find remote server nodes [nodes=" + nodes + ']'); + + BenchmarkUtils.println(cfg, "Initialized target nodes: " + F.nodeIds(targetNodes) + ']'); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestSendAllBenchmark.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestSendAllBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestSendAllBenchmark.java new file mode 100644 index 0000000..9011910 --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestSendAllBenchmark.java @@ -0,0 +1,32 @@ +/* + * 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.yardstick.io; + +import java.util.Map; + +/** + * + */ +public class IgniteIoTestSendAllBenchmark extends IgniteIoTestAbstractBenchmark { + /** {@inheritDoc} */ + @Override public boolean test(Map<Object, Object> ctx) throws Exception { + ignite.sendIoTest(targetNodes, null, false).get(); + + return true; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/05dd08b9/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestSendRandomBenchmark.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestSendRandomBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestSendRandomBenchmark.java new file mode 100644 index 0000000..88368e0 --- /dev/null +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/io/IgniteIoTestSendRandomBenchmark.java @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.yardstick.io; + +import java.util.Map; +import org.apache.ignite.cluster.ClusterNode; + +/** + * + */ +public class IgniteIoTestSendRandomBenchmark extends IgniteIoTestAbstractBenchmark { + /** {@inheritDoc} */ + @Override public boolean test(Map<Object, Object> ctx) throws Exception { + ClusterNode node = targetNodes.get(nextRandom(targetNodes.size())); + + ignite.sendIoTest(node, null, false).get(); + + return true; + } +}
