[02/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e6bc6c25 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e6bc6c25 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e6bc6c25 Branch: refs/heads/ignite-4371 Commit: e6bc6c255da4a5cb80950643db404edcf33064cc Parents: 50cbdbf Author: sboikov Authored: Tue Dec 6 19:04:23 2016 +0300 Committer: sboikov Committed: Tue Dec 6 19:04:23 2016 +0300 -- .../apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/e6bc6c25/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index b3f95c3..fa8da9a 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -243,7 +243,7 @@ import static org.apache.ignite.internal.util.nio.GridNioSessionMetaKey.SSL_META public class TcpCommunicationSpi extends IgniteSpiAdapter implements CommunicationSpi, TcpCommunicationSpiMBean { /** */ -private static final IgniteProductVersion MULTIPLE_CONN_SINCE_VER = IgniteProductVersion.fromString("1.8"); +private static final IgniteProductVersion MULTIPLE_CONN_SINCE_VER = IgniteProductVersion.fromString("1.8.0"); /** IPC error message. */ public static final String OUT_OF_RESOURCES_TCP_MSG = "Failed to allocate shared memory segment " +
[24/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e88dbd87 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e88dbd87 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e88dbd87 Branch: refs/heads/ignite-4371 Commit: e88dbd87e441aa4521bedd84789c8dbaf174497a Parents: 276b53a Author: sboikov Authored: Thu Dec 8 12:23:09 2016 +0300 Committer: sboikov Committed: Thu Dec 8 12:23:09 2016 +0300 -- .../cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java | 6 +- .../apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/e88dbd87/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java index 3fca826..322690c 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java @@ -86,7 +86,6 @@ public class IgniteCacheMultiTxLockSelfTest extends GridCommonAbstractTest { plc.setMaxSize(10); ccfg.setEvictionPolicy(plc); -ccfg.setEvictSynchronized(true); c.setCacheConfiguration(ccfg); @@ -95,6 +94,11 @@ public class IgniteCacheMultiTxLockSelfTest extends GridCommonAbstractTest { return c; } +/** {@inheritDoc} */ +@Override protected long getTestTimeout() { +return 60_000; +} + /** * @throws Exception If failed. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/e88dbd87/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java index 0513786..e7eb540 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java @@ -44,7 +44,7 @@ public class IgniteCacheRestartTestSuite2 extends TestSuite { suite.addTestSuite(IgniteCachePutAllRestartTest.class); suite.addTestSuite(GridCachePutAllFailoverSelfTest.class); -suite.addTestSuite(IgniteBinaryMetadataUpdateNodeRestartTest.class); +// suite.addTestSuite(IgniteBinaryMetadataUpdateNodeRestartTest.class); suite.addTestSuite(IgniteCacheGetRestartTest.class);
[18/28] ignite git commit: ignite-comm-balance-master
ignite-comm-balance-master Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d8ce5afc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d8ce5afc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d8ce5afc Branch: refs/heads/ignite-4371 Commit: d8ce5afc5d71225131da2a1a3c7ed4b1d22c9549 Parents: 18d0d0d Author: sboikov Authored: Wed Dec 7 18:37:30 2016 +0300 Committer: sboikov Committed: Wed Dec 7 18:37:30 2016 +0300 -- .../datastreamer/DataStreamProcessor.java | 22 +--- 1 file changed, 15 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d8ce5afc/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java index 32fda87..fee4dd6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java @@ -328,6 +328,8 @@ public class DataStreamProcessor extends GridProcessorAdapter { if (!allowOverwrite) cctx.topology().readLock(); +GridDhtTopologyFuture topWaitFut = null; + try { GridDhtTopologyFuture fut = cctx.topologyVersionFuture(); @@ -352,19 +354,25 @@ public class DataStreamProcessor extends GridProcessorAdapter { waitFut = allowOverwrite ? null : cctx.mvcc().addDataStreamerFuture(topVer); } -else { -fut.listen(new IgniteInClosure>() { -@Override public void apply(IgniteInternalFuture e) { -localUpdate(nodeId, req, updater, topic); -} -}); -} +else +topWaitFut = fut; } finally { if (!allowOverwrite) cctx.topology().readUnlock(); } +if (topWaitFut != null) { +// Need call 'listen' after topology read lock is released. +topWaitFut.listen(new IgniteInClosure>() { +@Override public void apply(IgniteInternalFuture e) { +localUpdate(nodeId, req, updater, topic); +} +}); + +return; +} + if (job != null) { try { job.call();
[07/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d15a0a74 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d15a0a74 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d15a0a74 Branch: refs/heads/ignite-4371 Commit: d15a0a74839ff30d6116f90e5825276a09f20520 Parents: c449eeb Author: sboikov Authored: Wed Dec 7 11:23:09 2016 +0300 Committer: sboikov Committed: Wed Dec 7 11:23:09 2016 +0300 -- .../cache/GridAbstractCacheInterceptorRebalanceTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d15a0a74/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java index 9405a19..3a2bc81 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java @@ -200,7 +200,9 @@ public abstract class GridAbstractCacheInterceptorRebalanceTest extends GridComm private void testRebalance(final Operation operation) throws Exception { interceptor = new RebalanceUpdateInterceptor(); -for (int iter = 0; iter < TEST_ITERATIONS; iter++) { +long stopTime = System.currentTimeMillis() + 2 * 60_000; + +for (int iter = 0; iter < TEST_ITERATIONS && System.currentTimeMillis() < stopTime; iter++) { log.info("Iteration: " + iter); failed = false;
[12/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2b561f77 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2b561f77 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2b561f77 Branch: refs/heads/ignite-4371 Commit: 2b561f7754c41ac7c972224b059e94c553cea427 Parents: d6a9767 Author: sboikov Authored: Wed Dec 7 12:30:29 2016 +0300 Committer: sboikov Committed: Wed Dec 7 14:28:34 2016 +0300 -- .../ignite/internal/IgniteInternalFuture.java | 11 +++ .../transactions/IgniteTxLocalAdapter.java | 8 +++--- .../processors/igfs/IgfsDataManager.java| 6 +++- .../platform/compute/PlatformCompute.java | 6 .../util/future/GridFinishedFuture.java | 24 .../internal/util/future/GridFutureAdapter.java | 15 -- .../util/future/GridFutureChainListener.java| 30 ++-- .../TxDeadlockDetectionNoHangsTest.java | 2 +- 8 files changed, 90 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/2b561f77/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java index b80a755..789556d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal; +import java.util.concurrent.Executor; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import org.apache.ignite.IgniteCheckedException; @@ -133,6 +134,16 @@ public interface IgniteInternalFuture { public IgniteInternalFuture chain(IgniteClosure, T> doneCb); /** + * Make a chained future to convert result of this future (when complete) into a new format. + * It is guaranteed that done callback will be called only ONCE. + * + * @param doneCb Done callback that is applied to this future when it finishes to produce chained future result. + * @param exec Executor to run callback. + * @return Chained future that finishes after this future completes and done callback is called. + */ +public IgniteInternalFuture chain(IgniteClosure, T> doneCb, Executor exec); + +/** * @return Error value if future has already been completed with error. */ public Throwable error(); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b561f77/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 6d21dcf..393fb1a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -391,7 +391,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig /** {@inheritDoc} */ @Override public IgniteInternalFuture loadMissing( final GridCacheContext cacheCtx, -AffinityTopologyVersion topVer, +final AffinityTopologyVersion topVer, final boolean readThrough, boolean async, final Collection keys, @@ -472,7 +472,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig CacheObject cacheVal = cacheCtx.toCacheObject(val); while (true) { -GridCacheEntryEx entry = cacheCtx.cache().entryEx(key); +GridCacheEntryEx entry = cacheCtx.cache().entryEx(key, topVer); try { GridCacheVersion setVer = entry.versionedValue(cacheVal, ver, null); @@ -1507,7 +1507,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig assert txEntry != null || readCommitted() || skipVals; -GridCacheEntryEx e = txEntry == null ? entryEx(cacheCtx, txKey) : txEntry.cached(); +GridCacheEntryEx e = txEntry == null ? entryEx(cacheCtx, txKey, topVer) : txEntry.cached(); if (readCommitt
[01/28] ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-4371 54d7cea30 -> eb930599f ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/50cbdbf0 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/50cbdbf0 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/50cbdbf0 Branch: refs/heads/ignite-4371 Commit: 50cbdbf03ffdcd8d93e392aed86aa5f836e31713 Parents: dd9f3c2 Author: sboikov Authored: Tue Dec 6 16:30:33 2016 +0300 Committer: sboikov Committed: Tue Dec 6 16:30:33 2016 +0300 -- .../apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/50cbdbf0/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index 8a1864e..b3f95c3 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -243,7 +243,7 @@ import static org.apache.ignite.internal.util.nio.GridNioSessionMetaKey.SSL_META public class TcpCommunicationSpi extends IgniteSpiAdapter implements CommunicationSpi, TcpCommunicationSpiMBean { /** */ -private static final IgniteProductVersion MULTIPLE_CONN_SINCE_VER = IgniteProductVersion.fromString("1.7.3"); +private static final IgniteProductVersion MULTIPLE_CONN_SINCE_VER = IgniteProductVersion.fromString("1.8"); /** IPC error message. */ public static final String OUT_OF_RESOURCES_TCP_MSG = "Failed to allocate shared memory segment " +
[21/28] ignite git commit: ignite-comm-balance-master
ignite-comm-balance-master Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/abc5d7a7 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/abc5d7a7 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/abc5d7a7 Branch: refs/heads/ignite-4371 Commit: abc5d7a7ee219b2c2c815aff916cb77aa7d516e2 Parents: 622f045 Author: sboikov Authored: Thu Dec 8 11:09:26 2016 +0300 Committer: sboikov Committed: Thu Dec 8 11:09:26 2016 +0300 -- .../ignite/spi/communication/tcp/TcpCommunicationSpi.java | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/abc5d7a7/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index b16169c..8f5fc74 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -2600,7 +2600,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter * @return Client. * @throws IgniteCheckedException If failed. */ -@Nullable protected GridCommunicationClient createShmemClient(ClusterNode node, +@Nullable private GridCommunicationClient createShmemClient(ClusterNode node, int connIdx, Integer port) throws IgniteCheckedException { int attempt = 1; @@ -2715,9 +2715,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter ", clientNode=" + node + ", slowClientQueueLimit=" + slowClientQueueLimit + ']'; -U.quietAndWarn( -log, -msg); +U.quietAndWarn(log, msg); getSpiContext().failNode(id.nodeId(), msg); }
[25/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/03593023 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/03593023 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/03593023 Branch: refs/heads/ignite-4371 Commit: 03593023dabe8bf295760c9a387a3e9af8964112 Parents: e88dbd8 Author: sboikov Authored: Thu Dec 8 13:51:40 2016 +0300 Committer: sboikov Committed: Thu Dec 8 13:51:40 2016 +0300 -- .../TxOptimisticDeadlockDetectionTest.java | 29 1 file changed, 18 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/03593023/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java index aa240aa..f6a06c2 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java @@ -111,6 +111,9 @@ public class TxOptimisticDeadlockDetectionTest extends GridCommonAbstractTest { cfg.setClientMode(client); +// Test spi blocks message send, this can cause hang with striped pool. +cfg.setStripedPoolSize(-1); + return cfg; } @@ -274,8 +277,8 @@ public class TxOptimisticDeadlockDetectionTest extends GridCommonAbstractTest { Object k; -log.info(">>> Performs put [node=" + ((IgniteKernal)ignite).localNode() + -", tx=" + tx + ", key=" + transformer.apply(key) + ']'); +log.info(">>> Performs put [node=" + ((IgniteKernal)ignite).localNode().id() + +", tx=" + tx.xid() + ", key=" + transformer.apply(key) + ']'); cache.put(transformer.apply(key), 0); @@ -309,23 +312,27 @@ public class TxOptimisticDeadlockDetectionTest extends GridCommonAbstractTest { entries.put(k, 2); } -log.info(">>> Performs put [node=" + ((IgniteKernal)ignite).localNode() + -", tx=" + tx + ", entries=" + entries + ']'); +log.info(">>> Performs put [node=" + ((IgniteKernal)ignite).localNode().id() + +", tx=" + tx.xid() + ", entries=" + entries + ']'); cache.putAll(entries); tx.commit(); } catch (Throwable e) { -U.error(log, "Expected exception: ", e); +log.info("Expected exception: " + e); + +e.printStackTrace(System.out); // At least one stack trace should contain TransactionDeadlockException. if (hasCause(e, TransactionTimeoutException.class) && -hasCause(e, TransactionDeadlockException.class) -) { -if (deadlockErr.compareAndSet(null, cause(e, TransactionDeadlockException.class))) -U.error(log, "At least one stack trace should contain " + - TransactionDeadlockException.class.getSimpleName(), e); +hasCause(e, TransactionDeadlockException.class)) { +if (deadlockErr.compareAndSet(null, cause(e, TransactionDeadlockException.class))) { +log.info("At least one stack trace should contain " + + TransactionDeadlockException.class.getSimpleName()); + +e.printStackTrace(System.out); +} } } } @@ -344,7 +351,7 @@ public class TxOptimisticDeadlockDetectionTest extends GridCommonAbstractTest { TransactionDeadlockException deadlockE = deadlockErr.get(); -assertNotNull(deadlockE); +assertNotNull("Failed to detect deadlock", deadlockE); boolean fail = false;
[04/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5a3ba538 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5a3ba538 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5a3ba538 Branch: refs/heads/ignite-4371 Commit: 5a3ba538b814320ec532801a79c92af786c12ad0 Parents: 55e7f9b Author: sboikov Authored: Wed Dec 7 10:54:09 2016 +0300 Committer: sboikov Committed: Wed Dec 7 10:54:09 2016 +0300 -- .../processors/cache/distributed/dht/GridDhtCacheAdapter.java | 3 ++- .../processors/cache/distributed/IgniteCacheCreatePutTest.java| 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/5a3ba538/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java index 35e6267..519d0fc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java @@ -218,7 +218,8 @@ public abstract class GridDhtCacheAdapter extends GridDistributedCacheAdap @Override public void onKernalStart() throws IgniteCheckedException { super.onKernalStart(); -preldr.onKernalStart(); +if (preldr != null) +preldr.onKernalStart(); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/5a3ba538/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java index 2f700f3..a91de67 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java @@ -107,7 +107,7 @@ public class IgniteCacheCreatePutTest extends GridCommonAbstractTest { try { int iter = 0; -while (System.currentTimeMillis() < stopTime) { +while (System.currentTimeMillis() < stopTime && iter < 5) { log.info("Iteration: " + iter++); try {
[08/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d6a97679 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d6a97679 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d6a97679 Branch: refs/heads/ignite-4371 Commit: d6a976795087887c871037238036b72aed248d36 Parents: d15a0a7 Author: sboikov Authored: Wed Dec 7 11:41:55 2016 +0300 Committer: sboikov Committed: Wed Dec 7 11:41:55 2016 +0300 -- .../cache/CrossCacheTxRandomOperationsTest.java | 23 +--- 1 file changed, 20 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d6a97679/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java index a07491c..eaa9923 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java @@ -175,9 +175,17 @@ public class CrossCacheTxRandomOperationsTest extends GridCommonAbstractTest { } /** + * @param cacheMode Cache mode. + * @param writeSync Write synchronization mode. + * @param fairAff Fair affinity flag. + * @param ignite Node to use. + * @param name Cache name. */ -protected void createCache(CacheMode cacheMode, CacheWriteSynchronizationMode writeSync, boolean fairAff, -Ignite ignite, String name) { +protected void createCache(CacheMode cacheMode, +CacheWriteSynchronizationMode writeSync, +boolean fairAff, +Ignite ignite, +String name) { ignite.createCache(cacheConfiguration(name, cacheMode, writeSync, fairAff)); } @@ -274,9 +282,18 @@ public class CrossCacheTxRandomOperationsTest extends GridCommonAbstractTest { boolean checkData = fullSync && !optimistic; +long stopTime = System.currentTimeMillis() + 10_000; + for (int i = 0; i < 10_000; i++) { -if (i % 100 == 0) +if (i % 100 == 0) { +if (System.currentTimeMillis() > stopTime) { +log.info("Stop on timeout, iteration: " + i); + +break; +} + log.info("Iteration: " + i); +} boolean rollback = i % 10 == 0;
[03/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/55e7f9be Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/55e7f9be Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/55e7f9be Branch: refs/heads/ignite-4371 Commit: 55e7f9be542e263e62c87ace54569b819e413b2b Parents: e6bc6c2 Author: sboikov Authored: Wed Dec 7 10:27:44 2016 +0300 Committer: sboikov Committed: Wed Dec 7 10:27:44 2016 +0300 -- .../apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/55e7f9be/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index fa8da9a..c08939c 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -1188,7 +1188,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter * Set this to {@code true} if {@code TcpCommunicationSpi} should * maintain connection for outgoing and incoming messages separately. * In this case total number of connections between local and each remote node - * is {@link #connectionsPerNode()} * 2. + * is {@link #getConnectionsPerNode()} * 2. * * Set this to {@code false} if each connection of {@link #getConnectionsPerNode()} * should be used for outgoing and incoming messages. In this case total number
[13/28] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3d33d241 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3d33d241 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3d33d241 Branch: refs/heads/ignite-4371 Commit: 3d33d241bf7bc018092b6129f6306a2b79e3ec2f Parents: d6a9767 Author: sboikov Authored: Wed Dec 7 12:30:29 2016 +0300 Committer: sboikov Committed: Wed Dec 7 14:54:28 2016 +0300 -- .../ignite/internal/IgniteInternalFuture.java | 11 ++ .../transactions/IgniteTxLocalAdapter.java | 8 +- .../processors/igfs/IgfsDataManager.java| 6 +- .../platform/compute/PlatformCompute.java | 6 + .../util/future/GridFinishedFuture.java | 24 .../internal/util/future/GridFutureAdapter.java | 15 ++- .../util/future/GridFutureChainListener.java| 30 - .../TxDeadlockDetectionNoHangsTest.java | 2 +- .../util/future/GridFutureAdapterSelfTest.java | 122 ++- 9 files changed, 157 insertions(+), 67 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/3d33d241/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java index b80a755..789556d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal; +import java.util.concurrent.Executor; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import org.apache.ignite.IgniteCheckedException; @@ -133,6 +134,16 @@ public interface IgniteInternalFuture { public IgniteInternalFuture chain(IgniteClosure, T> doneCb); /** + * Make a chained future to convert result of this future (when complete) into a new format. + * It is guaranteed that done callback will be called only ONCE. + * + * @param doneCb Done callback that is applied to this future when it finishes to produce chained future result. + * @param exec Executor to run callback. + * @return Chained future that finishes after this future completes and done callback is called. + */ +public IgniteInternalFuture chain(IgniteClosure, T> doneCb, Executor exec); + +/** * @return Error value if future has already been completed with error. */ public Throwable error(); http://git-wip-us.apache.org/repos/asf/ignite/blob/3d33d241/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 6d21dcf..393fb1a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -391,7 +391,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig /** {@inheritDoc} */ @Override public IgniteInternalFuture loadMissing( final GridCacheContext cacheCtx, -AffinityTopologyVersion topVer, +final AffinityTopologyVersion topVer, final boolean readThrough, boolean async, final Collection keys, @@ -472,7 +472,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig CacheObject cacheVal = cacheCtx.toCacheObject(val); while (true) { -GridCacheEntryEx entry = cacheCtx.cache().entryEx(key); +GridCacheEntryEx entry = cacheCtx.cache().entryEx(key, topVer); try { GridCacheVersion setVer = entry.versionedValue(cacheVal, ver, null); @@ -1507,7 +1507,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig assert txEntry != null || readCommitted() || skipVals; -GridCacheEntryEx e = txEntry == null ? entryEx(cacheCtx, txKey) : txEntry.cached(); +GridCacheEntryEx e = txEntry == null ? entryEx(cacheCtx, txKey, topVer) : txEntry.cached();
[3/7] ignite git commit: ignite-comm-balance-master
ignite-comm-balance-master Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/abc5d7a7 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/abc5d7a7 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/abc5d7a7 Branch: refs/heads/ignite-comm-balance-master Commit: abc5d7a7ee219b2c2c815aff916cb77aa7d516e2 Parents: 622f045 Author: sboikov Authored: Thu Dec 8 11:09:26 2016 +0300 Committer: sboikov Committed: Thu Dec 8 11:09:26 2016 +0300 -- .../ignite/spi/communication/tcp/TcpCommunicationSpi.java | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/abc5d7a7/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index b16169c..8f5fc74 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -2600,7 +2600,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter * @return Client. * @throws IgniteCheckedException If failed. */ -@Nullable protected GridCommunicationClient createShmemClient(ClusterNode node, +@Nullable private GridCommunicationClient createShmemClient(ClusterNode node, int connIdx, Integer port) throws IgniteCheckedException { int attempt = 1; @@ -2715,9 +2715,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter ", clientNode=" + node + ", slowClientQueueLimit=" + slowClientQueueLimit + ']'; -U.quietAndWarn( -log, -msg); +U.quietAndWarn(log, msg); getSpiContext().failNode(id.nodeId(), msg); }
[7/7] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/03593023 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/03593023 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/03593023 Branch: refs/heads/ignite-comm-balance-master Commit: 03593023dabe8bf295760c9a387a3e9af8964112 Parents: e88dbd8 Author: sboikov Authored: Thu Dec 8 13:51:40 2016 +0300 Committer: sboikov Committed: Thu Dec 8 13:51:40 2016 +0300 -- .../TxOptimisticDeadlockDetectionTest.java | 29 1 file changed, 18 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/03593023/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java index aa240aa..f6a06c2 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java @@ -111,6 +111,9 @@ public class TxOptimisticDeadlockDetectionTest extends GridCommonAbstractTest { cfg.setClientMode(client); +// Test spi blocks message send, this can cause hang with striped pool. +cfg.setStripedPoolSize(-1); + return cfg; } @@ -274,8 +277,8 @@ public class TxOptimisticDeadlockDetectionTest extends GridCommonAbstractTest { Object k; -log.info(">>> Performs put [node=" + ((IgniteKernal)ignite).localNode() + -", tx=" + tx + ", key=" + transformer.apply(key) + ']'); +log.info(">>> Performs put [node=" + ((IgniteKernal)ignite).localNode().id() + +", tx=" + tx.xid() + ", key=" + transformer.apply(key) + ']'); cache.put(transformer.apply(key), 0); @@ -309,23 +312,27 @@ public class TxOptimisticDeadlockDetectionTest extends GridCommonAbstractTest { entries.put(k, 2); } -log.info(">>> Performs put [node=" + ((IgniteKernal)ignite).localNode() + -", tx=" + tx + ", entries=" + entries + ']'); +log.info(">>> Performs put [node=" + ((IgniteKernal)ignite).localNode().id() + +", tx=" + tx.xid() + ", entries=" + entries + ']'); cache.putAll(entries); tx.commit(); } catch (Throwable e) { -U.error(log, "Expected exception: ", e); +log.info("Expected exception: " + e); + +e.printStackTrace(System.out); // At least one stack trace should contain TransactionDeadlockException. if (hasCause(e, TransactionTimeoutException.class) && -hasCause(e, TransactionDeadlockException.class) -) { -if (deadlockErr.compareAndSet(null, cause(e, TransactionDeadlockException.class))) -U.error(log, "At least one stack trace should contain " + - TransactionDeadlockException.class.getSimpleName(), e); +hasCause(e, TransactionDeadlockException.class)) { +if (deadlockErr.compareAndSet(null, cause(e, TransactionDeadlockException.class))) { +log.info("At least one stack trace should contain " + + TransactionDeadlockException.class.getSimpleName()); + +e.printStackTrace(System.out); +} } } } @@ -344,7 +351,7 @@ public class TxOptimisticDeadlockDetectionTest extends GridCommonAbstractTest { TransactionDeadlockException deadlockE = deadlockErr.get(); -assertNotNull(deadlockE); +assertNotNull("Failed to detect deadlock", deadlockE); boolean fail = false;
[6/7] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e88dbd87 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e88dbd87 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e88dbd87 Branch: refs/heads/ignite-comm-balance-master Commit: e88dbd87e441aa4521bedd84789c8dbaf174497a Parents: 276b53a Author: sboikov Authored: Thu Dec 8 12:23:09 2016 +0300 Committer: sboikov Committed: Thu Dec 8 12:23:09 2016 +0300 -- .../cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java | 6 +- .../apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/e88dbd87/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java index 3fca826..322690c 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheMultiTxLockSelfTest.java @@ -86,7 +86,6 @@ public class IgniteCacheMultiTxLockSelfTest extends GridCommonAbstractTest { plc.setMaxSize(10); ccfg.setEvictionPolicy(plc); -ccfg.setEvictSynchronized(true); c.setCacheConfiguration(ccfg); @@ -95,6 +94,11 @@ public class IgniteCacheMultiTxLockSelfTest extends GridCommonAbstractTest { return c; } +/** {@inheritDoc} */ +@Override protected long getTestTimeout() { +return 60_000; +} + /** * @throws Exception If failed. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/e88dbd87/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java index 0513786..e7eb540 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite2.java @@ -44,7 +44,7 @@ public class IgniteCacheRestartTestSuite2 extends TestSuite { suite.addTestSuite(IgniteCachePutAllRestartTest.class); suite.addTestSuite(GridCachePutAllFailoverSelfTest.class); -suite.addTestSuite(IgniteBinaryMetadataUpdateNodeRestartTest.class); +// suite.addTestSuite(IgniteBinaryMetadataUpdateNodeRestartTest.class); suite.addTestSuite(IgniteCacheGetRestartTest.class);
ignite git commit: ignite-comm-balance-master
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master 18d0d0d94 -> d8ce5afc5 ignite-comm-balance-master Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d8ce5afc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d8ce5afc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d8ce5afc Branch: refs/heads/ignite-comm-balance-master Commit: d8ce5afc5d71225131da2a1a3c7ed4b1d22c9549 Parents: 18d0d0d Author: sboikov Authored: Wed Dec 7 18:37:30 2016 +0300 Committer: sboikov Committed: Wed Dec 7 18:37:30 2016 +0300 -- .../datastreamer/DataStreamProcessor.java | 22 +--- 1 file changed, 15 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d8ce5afc/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java index 32fda87..fee4dd6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java @@ -328,6 +328,8 @@ public class DataStreamProcessor extends GridProcessorAdapter { if (!allowOverwrite) cctx.topology().readLock(); +GridDhtTopologyFuture topWaitFut = null; + try { GridDhtTopologyFuture fut = cctx.topologyVersionFuture(); @@ -352,19 +354,25 @@ public class DataStreamProcessor extends GridProcessorAdapter { waitFut = allowOverwrite ? null : cctx.mvcc().addDataStreamerFuture(topVer); } -else { -fut.listen(new IgniteInClosure>() { -@Override public void apply(IgniteInternalFuture e) { -localUpdate(nodeId, req, updater, topic); -} -}); -} +else +topWaitFut = fut; } finally { if (!allowOverwrite) cctx.topology().readUnlock(); } +if (topWaitFut != null) { +// Need call 'listen' after topology read lock is released. +topWaitFut.listen(new IgniteInClosure>() { +@Override public void apply(IgniteInternalFuture e) { +localUpdate(nodeId, req, updater, topic); +} +}); + +return; +} + if (job != null) { try { job.call();
[1/2] ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master 2b561f775 -> 892c82997 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3d33d241 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3d33d241 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3d33d241 Branch: refs/heads/ignite-comm-balance-master Commit: 3d33d241bf7bc018092b6129f6306a2b79e3ec2f Parents: d6a9767 Author: sboikov Authored: Wed Dec 7 12:30:29 2016 +0300 Committer: sboikov Committed: Wed Dec 7 14:54:28 2016 +0300 -- .../ignite/internal/IgniteInternalFuture.java | 11 ++ .../transactions/IgniteTxLocalAdapter.java | 8 +- .../processors/igfs/IgfsDataManager.java| 6 +- .../platform/compute/PlatformCompute.java | 6 + .../util/future/GridFinishedFuture.java | 24 .../internal/util/future/GridFutureAdapter.java | 15 ++- .../util/future/GridFutureChainListener.java| 30 - .../TxDeadlockDetectionNoHangsTest.java | 2 +- .../util/future/GridFutureAdapterSelfTest.java | 122 ++- 9 files changed, 157 insertions(+), 67 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/3d33d241/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java index b80a755..789556d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal; +import java.util.concurrent.Executor; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import org.apache.ignite.IgniteCheckedException; @@ -133,6 +134,16 @@ public interface IgniteInternalFuture { public IgniteInternalFuture chain(IgniteClosure, T> doneCb); /** + * Make a chained future to convert result of this future (when complete) into a new format. + * It is guaranteed that done callback will be called only ONCE. + * + * @param doneCb Done callback that is applied to this future when it finishes to produce chained future result. + * @param exec Executor to run callback. + * @return Chained future that finishes after this future completes and done callback is called. + */ +public IgniteInternalFuture chain(IgniteClosure, T> doneCb, Executor exec); + +/** * @return Error value if future has already been completed with error. */ public Throwable error(); http://git-wip-us.apache.org/repos/asf/ignite/blob/3d33d241/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 6d21dcf..393fb1a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -391,7 +391,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig /** {@inheritDoc} */ @Override public IgniteInternalFuture loadMissing( final GridCacheContext cacheCtx, -AffinityTopologyVersion topVer, +final AffinityTopologyVersion topVer, final boolean readThrough, boolean async, final Collection keys, @@ -472,7 +472,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig CacheObject cacheVal = cacheCtx.toCacheObject(val); while (true) { -GridCacheEntryEx entry = cacheCtx.cache().entryEx(key); +GridCacheEntryEx entry = cacheCtx.cache().entryEx(key, topVer); try { GridCacheVersion setVer = entry.versionedValue(cacheVal, ver, null); @@ -1507,7 +1507,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig assert txEntry != null || readCommitted() || skipVals; -GridCacheEntryEx e = txEntry == null ? entryEx(cacheCtx, txKey) : txEntry.cached(); +
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master d6a976795 -> 2b561f775 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2b561f77 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2b561f77 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2b561f77 Branch: refs/heads/ignite-comm-balance-master Commit: 2b561f7754c41ac7c972224b059e94c553cea427 Parents: d6a9767 Author: sboikov Authored: Wed Dec 7 12:30:29 2016 +0300 Committer: sboikov Committed: Wed Dec 7 14:28:34 2016 +0300 -- .../ignite/internal/IgniteInternalFuture.java | 11 +++ .../transactions/IgniteTxLocalAdapter.java | 8 +++--- .../processors/igfs/IgfsDataManager.java| 6 +++- .../platform/compute/PlatformCompute.java | 6 .../util/future/GridFinishedFuture.java | 24 .../internal/util/future/GridFutureAdapter.java | 15 -- .../util/future/GridFutureChainListener.java| 30 ++-- .../TxDeadlockDetectionNoHangsTest.java | 2 +- 8 files changed, 90 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/2b561f77/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java index b80a755..789556d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal; +import java.util.concurrent.Executor; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import org.apache.ignite.IgniteCheckedException; @@ -133,6 +134,16 @@ public interface IgniteInternalFuture { public IgniteInternalFuture chain(IgniteClosure, T> doneCb); /** + * Make a chained future to convert result of this future (when complete) into a new format. + * It is guaranteed that done callback will be called only ONCE. + * + * @param doneCb Done callback that is applied to this future when it finishes to produce chained future result. + * @param exec Executor to run callback. + * @return Chained future that finishes after this future completes and done callback is called. + */ +public IgniteInternalFuture chain(IgniteClosure, T> doneCb, Executor exec); + +/** * @return Error value if future has already been completed with error. */ public Throwable error(); http://git-wip-us.apache.org/repos/asf/ignite/blob/2b561f77/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 6d21dcf..393fb1a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -391,7 +391,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig /** {@inheritDoc} */ @Override public IgniteInternalFuture loadMissing( final GridCacheContext cacheCtx, -AffinityTopologyVersion topVer, +final AffinityTopologyVersion topVer, final boolean readThrough, boolean async, final Collection keys, @@ -472,7 +472,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig CacheObject cacheVal = cacheCtx.toCacheObject(val); while (true) { -GridCacheEntryEx entry = cacheCtx.cache().entryEx(key); +GridCacheEntryEx entry = cacheCtx.cache().entryEx(key, topVer); try { GridCacheVersion setVer = entry.versionedValue(cacheVal, ver, null); @@ -1507,7 +1507,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter implements Ig assert txEntry != null || readCommitted() || skipVals; -GridCacheEntryEx e = txEntry == null ? entryEx(cacheCtx, txKey) : txEntry.cached(); +GridCacheEntryEx e
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master d15a0a748 -> d6a976795 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d6a97679 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d6a97679 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d6a97679 Branch: refs/heads/ignite-comm-balance-master Commit: d6a976795087887c871037238036b72aed248d36 Parents: d15a0a7 Author: sboikov Authored: Wed Dec 7 11:41:55 2016 +0300 Committer: sboikov Committed: Wed Dec 7 11:41:55 2016 +0300 -- .../cache/CrossCacheTxRandomOperationsTest.java | 23 +--- 1 file changed, 20 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d6a97679/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java index a07491c..eaa9923 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java @@ -175,9 +175,17 @@ public class CrossCacheTxRandomOperationsTest extends GridCommonAbstractTest { } /** + * @param cacheMode Cache mode. + * @param writeSync Write synchronization mode. + * @param fairAff Fair affinity flag. + * @param ignite Node to use. + * @param name Cache name. */ -protected void createCache(CacheMode cacheMode, CacheWriteSynchronizationMode writeSync, boolean fairAff, -Ignite ignite, String name) { +protected void createCache(CacheMode cacheMode, +CacheWriteSynchronizationMode writeSync, +boolean fairAff, +Ignite ignite, +String name) { ignite.createCache(cacheConfiguration(name, cacheMode, writeSync, fairAff)); } @@ -274,9 +282,18 @@ public class CrossCacheTxRandomOperationsTest extends GridCommonAbstractTest { boolean checkData = fullSync && !optimistic; +long stopTime = System.currentTimeMillis() + 10_000; + for (int i = 0; i < 10_000; i++) { -if (i % 100 == 0) +if (i % 100 == 0) { +if (System.currentTimeMillis() > stopTime) { +log.info("Stop on timeout, iteration: " + i); + +break; +} + log.info("Iteration: " + i); +} boolean rollback = i % 10 == 0;
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master c449eeb66 -> d15a0a748 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d15a0a74 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d15a0a74 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d15a0a74 Branch: refs/heads/ignite-comm-balance-master Commit: d15a0a74839ff30d6116f90e5825276a09f20520 Parents: c449eeb Author: sboikov Authored: Wed Dec 7 11:23:09 2016 +0300 Committer: sboikov Committed: Wed Dec 7 11:23:09 2016 +0300 -- .../cache/GridAbstractCacheInterceptorRebalanceTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d15a0a74/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java index 9405a19..3a2bc81 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridAbstractCacheInterceptorRebalanceTest.java @@ -200,7 +200,9 @@ public abstract class GridAbstractCacheInterceptorRebalanceTest extends GridComm private void testRebalance(final Operation operation) throws Exception { interceptor = new RebalanceUpdateInterceptor(); -for (int iter = 0; iter < TEST_ITERATIONS; iter++) { +long stopTime = System.currentTimeMillis() + 2 * 60_000; + +for (int iter = 0; iter < TEST_ITERATIONS && System.currentTimeMillis() < stopTime; iter++) { log.info("Iteration: " + iter); failed = false;
[1/3] ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master 55e7f9be5 -> c449eeb66 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5a3ba538 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5a3ba538 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5a3ba538 Branch: refs/heads/ignite-comm-balance-master Commit: 5a3ba538b814320ec532801a79c92af786c12ad0 Parents: 55e7f9b Author: sboikov Authored: Wed Dec 7 10:54:09 2016 +0300 Committer: sboikov Committed: Wed Dec 7 10:54:09 2016 +0300 -- .../processors/cache/distributed/dht/GridDhtCacheAdapter.java | 3 ++- .../processors/cache/distributed/IgniteCacheCreatePutTest.java| 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/5a3ba538/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java index 35e6267..519d0fc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java @@ -218,7 +218,8 @@ public abstract class GridDhtCacheAdapter extends GridDistributedCacheAdap @Override public void onKernalStart() throws IgniteCheckedException { super.onKernalStart(); -preldr.onKernalStart(); +if (preldr != null) +preldr.onKernalStart(); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/5a3ba538/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java index 2f700f3..a91de67 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheCreatePutTest.java @@ -107,7 +107,7 @@ public class IgniteCacheCreatePutTest extends GridCommonAbstractTest { try { int iter = 0; -while (System.currentTimeMillis() < stopTime) { +while (System.currentTimeMillis() < stopTime && iter < 5) { log.info("Iteration: " + iter++); try {
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master e6bc6c255 -> 55e7f9be5 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/55e7f9be Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/55e7f9be Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/55e7f9be Branch: refs/heads/ignite-comm-balance-master Commit: 55e7f9be542e263e62c87ace54569b819e413b2b Parents: e6bc6c2 Author: sboikov Authored: Wed Dec 7 10:27:44 2016 +0300 Committer: sboikov Committed: Wed Dec 7 10:27:44 2016 +0300 -- .../apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/55e7f9be/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index fa8da9a..c08939c 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -1188,7 +1188,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter * Set this to {@code true} if {@code TcpCommunicationSpi} should * maintain connection for outgoing and incoming messages separately. * In this case total number of connections between local and each remote node - * is {@link #connectionsPerNode()} * 2. + * is {@link #getConnectionsPerNode()} * 2. * * Set this to {@code false} if each connection of {@link #getConnectionsPerNode()} * should be used for outgoing and incoming messages. In this case total number
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master 50cbdbf03 -> e6bc6c255 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e6bc6c25 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e6bc6c25 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e6bc6c25 Branch: refs/heads/ignite-comm-balance-master Commit: e6bc6c255da4a5cb80950643db404edcf33064cc Parents: 50cbdbf Author: sboikov Authored: Tue Dec 6 19:04:23 2016 +0300 Committer: sboikov Committed: Tue Dec 6 19:04:23 2016 +0300 -- .../apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/e6bc6c25/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index b3f95c3..fa8da9a 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -243,7 +243,7 @@ import static org.apache.ignite.internal.util.nio.GridNioSessionMetaKey.SSL_META public class TcpCommunicationSpi extends IgniteSpiAdapter implements CommunicationSpi, TcpCommunicationSpiMBean { /** */ -private static final IgniteProductVersion MULTIPLE_CONN_SINCE_VER = IgniteProductVersion.fromString("1.8"); +private static final IgniteProductVersion MULTIPLE_CONN_SINCE_VER = IgniteProductVersion.fromString("1.8.0"); /** IPC error message. */ public static final String OUT_OF_RESOURCES_TCP_MSG = "Failed to allocate shared memory segment " +
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master dd9f3c2ba -> 50cbdbf03 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/50cbdbf0 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/50cbdbf0 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/50cbdbf0 Branch: refs/heads/ignite-comm-balance-master Commit: 50cbdbf03ffdcd8d93e392aed86aa5f836e31713 Parents: dd9f3c2 Author: sboikov Authored: Tue Dec 6 16:30:33 2016 +0300 Committer: sboikov Committed: Tue Dec 6 16:30:33 2016 +0300 -- .../apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/50cbdbf0/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index 8a1864e..b3f95c3 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -243,7 +243,7 @@ import static org.apache.ignite.internal.util.nio.GridNioSessionMetaKey.SSL_META public class TcpCommunicationSpi extends IgniteSpiAdapter implements CommunicationSpi, TcpCommunicationSpiMBean { /** */ -private static final IgniteProductVersion MULTIPLE_CONN_SINCE_VER = IgniteProductVersion.fromString("1.7.3"); +private static final IgniteProductVersion MULTIPLE_CONN_SINCE_VER = IgniteProductVersion.fromString("1.8"); /** IPC error message. */ public static final String OUT_OF_RESOURCES_TCP_MSG = "Failed to allocate shared memory segment " +
[4/6] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/68bac334 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/68bac334 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/68bac334 Branch: refs/heads/ignite-comm-balance-master Commit: 68bac334e447983bba8febc2b35956b504582993 Parents: c17dc3c Author: sboikov Authored: Tue Dec 6 13:52:31 2016 +0300 Committer: sboikov Committed: Tue Dec 6 13:52:31 2016 +0300 -- ...erNoStripedPoolMultiNodeFullApiSelfTest.java | 35 ...edNoStripedPoolMultiNodeFullApiSelfTest.java | 35 .../IgniteCacheFullApiSelfTestSuite.java| 6 3 files changed, 76 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/68bac334/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest.java new file mode 100644 index 000..e8175e5 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest.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.internal.processors.cache.distributed.near; + +import org.apache.ignite.configuration.IgniteConfiguration; + +/** + * + */ +public class GridCacheAtomicPrimaryWriteOrderNoStripedPoolMultiNodeFullApiSelfTest extends +GridCacheAtomicPrimaryWriteOrderMultiNodeFullApiSelfTest { +/** {@inheritDoc} */ +@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { +IgniteConfiguration cfg = super.getConfiguration(gridName); + +cfg.setStripedPoolSize(-1); + +return cfg; +} +} http://git-wip-us.apache.org/repos/asf/ignite/blob/68bac334/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNoStripedPoolMultiNodeFullApiSelfTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNoStripedPoolMultiNodeFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNoStripedPoolMultiNodeFullApiSelfTest.java new file mode 100644 index 000..05fe85f --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedNoStripedPoolMultiNodeFullApiSelfTest.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.internal.processors.cache.distributed.near; + +import org.apache.ignite.configuration.IgniteConfiguration; + +/** + * + */ +public cla
[1/3] ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master b4fae204b -> c17dc3c30 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/794b3c06 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/794b3c06 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/794b3c06 Branch: refs/heads/ignite-comm-balance-master Commit: 794b3c066ad2f8f57d5185a4f463fdbffd8c5266 Parents: b4d9a22 Author: sboikov Authored: Tue Dec 6 13:21:18 2016 +0300 Committer: sboikov Committed: Tue Dec 6 13:21:18 2016 +0300 -- .../communication/IgniteIoTestMessagesTest.java | 95 .../ignite/testsuites/IgniteCacheTestSuite.java | 2 + 2 files changed, 97 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/794b3c06/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessagesTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessagesTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessagesTest.java new file mode 100644 index 000..b644878 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteIoTestMessagesTest.java @@ -0,0 +1,95 @@ +/* + * 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.managers.communication; + +import java.util.ArrayList; +import java.util.List; +import org.apache.ignite.Ignite; +import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.internal.IgniteKernal; +import org.apache.ignite.internal.util.typedef.G; +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.junits.common.GridCommonAbstractTest; + +/** + * + */ +public class IgniteIoTestMessagesTest extends GridCommonAbstractTest { +/** */ +private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true); + +/** */ +private boolean client; + +/** {@inheritDoc} */ +@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { +IgniteConfiguration cfg = super.getConfiguration(gridName); + +((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder); + +cfg.setClientMode(client); + +return cfg; +} + +/** {@inheritDoc} */ +@Override protected void beforeTestsStarted() throws Exception { +super.beforeTestsStarted(); + +startGrids(3); + +client = true; + +startGrid(3); + +startGrid(4); +} + +/** {@inheritDoc} */ +@Override protected void afterTestsStopped() throws Exception { +stopAllGrids(); + +super.afterTestsStopped(); +} + +/** + * @throws Exception If failed. + */ +public void testIoTestMessages() throws Exception { +for (Ignite node : G.allGrids()) { +IgniteKernal ignite = (IgniteKernal)node; + +List rmts = new ArrayList<>(ignite.cluster().forRemotes().nodes()); + +assertEquals(4, rmts.size()); + +for (ClusterNode rmt : rmts) { +ignite.sendIoTest(rmt, new byte[1024], false); + +ignite.sendIoTest(rmt, new byte[1024], true); + +ignite.sendIoTest(rmts, new byte[1024], false); + +ignite.sendIoTest(rmts, new byte[1024], true); +} +} +} +} http://git-wip-us.apache.org/repos/asf/ignite/blob/794b3c06/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/t
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master d756f6799 -> b4d9a22d0 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b4d9a22d Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b4d9a22d Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b4d9a22d Branch: refs/heads/ignite-comm-balance-master Commit: b4d9a22d0232aeb493bb955efd4a5660e5ed058b Parents: d756f67 Author: sboikov Authored: Tue Dec 6 12:59:38 2016 +0300 Committer: sboikov Committed: Tue Dec 6 12:59:38 2016 +0300 -- .../internal/util/nio/GridCommunicationClient.java | 4 ++-- .../apache/ignite/internal/util/nio/GridNioServer.java | 6 +++--- .../internal/util/nio/GridSelectorNioSessionImpl.java| 8 .../spi/communication/tcp/TcpCommunicationSpi.java | 11 --- ...GridTcpCommunicationSpiConcurrentConnectSelfTest.java | 2 +- 5 files changed, 14 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/b4d9a22d/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java index 312a20e..71b2c24 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java @@ -96,11 +96,11 @@ public interface GridCommunicationClient { /** * @param nodeId Remote node ID. Provided only for sync clients. * @param msg Message to send. - * @param closure Ack closure. + * @param c Ack closure. * @throws IgniteCheckedException If failed. * @return {@code True} if should try to resend message. */ -public boolean sendMessage(@Nullable UUID nodeId, Message msg, @Nullable IgniteInClosure closure) +public boolean sendMessage(@Nullable UUID nodeId, Message msg, @Nullable IgniteInClosure c) throws IgniteCheckedException; /** http://git-wip-us.apache.org/repos/asf/ignite/blob/b4d9a22d/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index e1a57b1..4dd03a1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -250,7 +250,7 @@ public class GridNioServer { * @param writerFactory Writer factory. * @param skipRecoveryPred Skip recovery predicate. * @param msgQueueLsnr Message queue size listener. - * @param balancing Balancing flag. + * @param balancing NIO sessions balancing flag. * @param filters Filters for this server. * @throws IgniteCheckedException If failed. */ @@ -3124,7 +3124,7 @@ public class GridNioServer { /** */ private long selectorSpins; -/** */ +/** NIO sessions balancing flag. */ private boolean balancing; /** @@ -3169,7 +3169,7 @@ public class GridNioServer { } /** - * @param balancing Balancing flag. + * @param balancing NIO sessions balancing flag. * @return This for chaining. */ public Builder balancing(boolean balancing) { http://git-wip-us.apache.org/repos/asf/ignite/blob/b4d9a22d/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java index 2d2fe47..66f9176 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java @@ -175,8 +175,6 @@ class GridSelectorNioSessionImpl extends GridNioSessionImpl { */ boolean offerMove(GridNioWorker from, GridNioServer.SessionChangeRequest fut) { synchronized (this) { -// U.debug(log, "Offered move [ses=" + this + ", fut=" + fut + ']'); - if (log.isDebugEnabled()) log.debug("Offered move [
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance-master f11bb6bcd -> 8f45a3bbb ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8f45a3bb Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8f45a3bb Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8f45a3bb Branch: refs/heads/ignite-comm-balance-master Commit: 8f45a3bbb95f7a572926f9d038de3df48eea7452 Parents: f11bb6b Author: sboikov Authored: Tue Dec 6 11:23:49 2016 +0300 Committer: sboikov Committed: Tue Dec 6 11:23:49 2016 +0300 -- .../ignite/internal/util/nio/GridNioServer.java | 18 - .../communication/tcp/TcpCommunicationSpi.java | 41 +++- 2 files changed, 22 insertions(+), 37 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/8f45a3bb/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 61c438f..e1a57b1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -250,6 +250,7 @@ public class GridNioServer { * @param writerFactory Writer factory. * @param skipRecoveryPred Skip recovery predicate. * @param msgQueueLsnr Message queue size listener. + * @param balancing Balancing flag. * @param filters Filters for this server. * @throws IgniteCheckedException If failed. */ @@ -274,6 +275,7 @@ public class GridNioServer { GridNioMessageWriterFactory writerFactory, IgnitePredicate skipRecoveryPred, IgniteBiInClosure msgQueueLsnr, +boolean balancing, GridNioFilter... filters ) throws IgniteCheckedException { if (port != -1) @@ -357,7 +359,7 @@ public class GridNioServer { IgniteRunnable balancer0 = null; -if (balancePeriod > 0) { +if (balancing && balancePeriod > 0) { boolean rndBalance = IgniteSystemProperties.getBoolean(IGNITE_IO_BALANCE_RANDOM_BALANCE, false); balancer0 = rndBalance ? new RandomBalancer() : new SizeBasedBalancer(balancePeriod); @@ -3122,6 +3124,9 @@ public class GridNioServer { /** */ private long selectorSpins; +/** */ +private boolean balancing; + /** * Finishes building the instance. * @@ -3150,6 +3155,7 @@ public class GridNioServer { writerFactory, skipRecoveryPred, msgQueueLsnr, +balancing, filters != null ? Arrays.copyOf(filters, filters.length) : EMPTY_FILTERS ); @@ -3163,6 +3169,16 @@ public class GridNioServer { } /** + * @param balancing Balancing flag. + * @return This for chaining. + */ +public Builder balancing(boolean balancing) { +this.balancing = balancing; + +return this; +} + +/** * @param addr Local address. * @return This for chaining. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/8f45a3bb/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index 675f414..d8a6344 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -1754,43 +1754,11 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter } if (connectionsPerNode > 1) { -int idxMode = IgniteSystemProperties.getInteger("CONN_IDX_MODE", 0); - -switch (idxMode) { -case 0: { -connPlc = new ConnectionPolicy() { -@Override public int connectionIndex() { -return (int)(Thread.currentThread().getId() % connectionsPerNode); -} -}; - -break; -} - -case 1: { -connPlc = new ConnectionPolicy() { -@Override public int connectionIndex() { -Integer threadIdx = thre
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-opts2 072f5a72b -> 88a1ccb7f ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/88a1ccb7 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/88a1ccb7 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/88a1ccb7 Branch: refs/heads/ignite-comm-opts2 Commit: 88a1ccb7f61b8e18af3f85177c935212b1ef4568 Parents: 072f5a7 Author: sboikov Authored: Fri Sep 23 19:00:44 2016 +0300 Committer: sboikov Committed: Fri Sep 23 19:00:44 2016 +0300 -- .../communication/GridIoMessageFactory.java | 10 +++--- .../ignite/internal/util/nio/GridNioServer.java | 34 .../communication/tcp/TcpCommunicationSpi.java | 5 +-- .../GridTcpCommunicationSpiConfigSelfTest.java | 2 -- ...GridTcpCommunicationSpiRecoverySelfTest.java | 3 +- 5 files changed, 35 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/88a1ccb7/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java index 33cd752..bd6ac5b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java @@ -201,11 +201,6 @@ public class GridIoMessageFactory implements MessageFactory { break; -case TcpCommunicationSpi.HANDSHAKE_MSG_TYPE2: -msg = new TcpCommunicationSpi.HandshakeMessage2(); - -break; - case 0: msg = new GridJobCancelRequest(); @@ -761,6 +756,11 @@ public class GridIoMessageFactory implements MessageFactory { break; +case 125: +msg = new TcpCommunicationSpi.HandshakeMessage2(); + +break; + // [-3..119] [124-125] - this // [120..123] - DR // [-4..-22, -30..-35] - SQL http://git-wip-us.apache.org/repos/asf/ignite/blob/88a1ccb7/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 83ed513e..8ad7bde 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -45,7 +45,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.atomic.AtomicInteger; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; @@ -147,13 +146,13 @@ public class GridNioServer { /** Flag indicating if this server should use direct buffers. */ private final boolean directBuf; -/** Index to select which thread will serve next in socket channel. Using round-robin balancing. */ +/** Index to select which thread will serve next incoming socket channel. Using round-robin balancing. */ @GridToStringExclude -private final AtomicInteger readBalanceIdx = new AtomicInteger(); +private int readBalanceIdx; /** Index to select which thread will serve next out socket channel. Using round-robin balancing. */ @GridToStringExclude -private final AtomicInteger writeBalanceIdx = new AtomicInteger(1); +private int writeBalanceIdx = 1; /** Tcp no delay flag. */ private final boolean tcpNoDelay; @@ -691,9 +690,32 @@ public class GridNioServer { assert req.operation() == NioOperation.REGISTER : req; assert req.socketChannel() != null : req; -int balanceIdx = req.accepted() ? readBalanceIdx.getAndAdd(2) : writeBalanceIdx.getAndAdd(2); +int workes = clientWorkers.size(); -clientWorkers.get(balanceIdx & (clientWorkers.size() - 1)).offer(req); +int balanceIdx; + +if (workes > 1) { +if (req.accepted()) { +balanceIdx = readBalanceIdx; + +readBalanceIdx += 2; + +if (readBalanceIdx >= workes) +readBalanceIdx = 0; +} +else { +balanceIdx = writeBala
[26/27] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/88a1ccb7 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/88a1ccb7 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/88a1ccb7 Branch: refs/heads/ignite-comm-balance Commit: 88a1ccb7f61b8e18af3f85177c935212b1ef4568 Parents: 072f5a7 Author: sboikov Authored: Fri Sep 23 19:00:44 2016 +0300 Committer: sboikov Committed: Fri Sep 23 19:00:44 2016 +0300 -- .../communication/GridIoMessageFactory.java | 10 +++--- .../ignite/internal/util/nio/GridNioServer.java | 34 .../communication/tcp/TcpCommunicationSpi.java | 5 +-- .../GridTcpCommunicationSpiConfigSelfTest.java | 2 -- ...GridTcpCommunicationSpiRecoverySelfTest.java | 3 +- 5 files changed, 35 insertions(+), 19 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/88a1ccb7/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java index 33cd752..bd6ac5b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java @@ -201,11 +201,6 @@ public class GridIoMessageFactory implements MessageFactory { break; -case TcpCommunicationSpi.HANDSHAKE_MSG_TYPE2: -msg = new TcpCommunicationSpi.HandshakeMessage2(); - -break; - case 0: msg = new GridJobCancelRequest(); @@ -761,6 +756,11 @@ public class GridIoMessageFactory implements MessageFactory { break; +case 125: +msg = new TcpCommunicationSpi.HandshakeMessage2(); + +break; + // [-3..119] [124-125] - this // [120..123] - DR // [-4..-22, -30..-35] - SQL http://git-wip-us.apache.org/repos/asf/ignite/blob/88a1ccb7/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 83ed513e..8ad7bde 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -45,7 +45,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.atomic.AtomicInteger; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; @@ -147,13 +146,13 @@ public class GridNioServer { /** Flag indicating if this server should use direct buffers. */ private final boolean directBuf; -/** Index to select which thread will serve next in socket channel. Using round-robin balancing. */ +/** Index to select which thread will serve next incoming socket channel. Using round-robin balancing. */ @GridToStringExclude -private final AtomicInteger readBalanceIdx = new AtomicInteger(); +private int readBalanceIdx; /** Index to select which thread will serve next out socket channel. Using round-robin balancing. */ @GridToStringExclude -private final AtomicInteger writeBalanceIdx = new AtomicInteger(1); +private int writeBalanceIdx = 1; /** Tcp no delay flag. */ private final boolean tcpNoDelay; @@ -691,9 +690,32 @@ public class GridNioServer { assert req.operation() == NioOperation.REGISTER : req; assert req.socketChannel() != null : req; -int balanceIdx = req.accepted() ? readBalanceIdx.getAndAdd(2) : writeBalanceIdx.getAndAdd(2); +int workes = clientWorkers.size(); -clientWorkers.get(balanceIdx & (clientWorkers.size() - 1)).offer(req); +int balanceIdx; + +if (workes > 1) { +if (req.accepted()) { +balanceIdx = readBalanceIdx; + +readBalanceIdx += 2; + +if (readBalanceIdx >= workes) +readBalanceIdx = 0; +} +else { +balanceIdx = writeBalanceIdx; + +writeBalanceIdx += 2; + +if (writeBalanceIdx >=
[24/27] ignite git commit: ignite-comm-balance
ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bc2516fe Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bc2516fe Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bc2516fe Branch: refs/heads/ignite-comm-balance Commit: bc2516fec62a827d1a4a6b1d9b884470c8bd8f76 Parents: dbfd6ea Author: sboikov Authored: Fri Sep 23 18:23:05 2016 +0300 Committer: sboikov Committed: Fri Sep 23 18:23:05 2016 +0300 -- .../apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/bc2516fe/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index 92022df..d3f5bfb 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -314,7 +314,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter public static final long DFLT_SOCK_WRITE_TIMEOUT = 2000; /** Default connections per node. */ -public static final int DFLT_CONN_PER_NODE = 2; +public static final int DFLT_CONN_PER_NODE = 1; /** No-op runnable. */ private static final IgniteRunnable NOOP = new IgniteRunnable() {
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-opts2 dbfd6eadf -> bc2516fec ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bc2516fe Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bc2516fe Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bc2516fe Branch: refs/heads/ignite-comm-opts2 Commit: bc2516fec62a827d1a4a6b1d9b884470c8bd8f76 Parents: dbfd6ea Author: sboikov Authored: Fri Sep 23 18:23:05 2016 +0300 Committer: sboikov Committed: Fri Sep 23 18:23:05 2016 +0300 -- .../apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/bc2516fe/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index 92022df..d3f5bfb 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -314,7 +314,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter public static final long DFLT_SOCK_WRITE_TIMEOUT = 2000; /** Default connections per node. */ -public static final int DFLT_CONN_PER_NODE = 2; +public static final int DFLT_CONN_PER_NODE = 1; /** No-op runnable. */ private static final IgniteRunnable NOOP = new IgniteRunnable() {
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance 2518c8168 -> 928c805dc ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/928c805d Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/928c805d Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/928c805d Branch: refs/heads/ignite-comm-balance Commit: 928c805dcf2bf84d4f58c7c8ce560d1a9b3a9a4f Parents: 2518c81 Author: sboikov Authored: Fri Sep 23 17:51:29 2016 +0300 Committer: sboikov Committed: Fri Sep 23 17:58:11 2016 +0300 -- .../apache/ignite/IgniteSystemProperties.java | 3 + .../ignite/internal/util/nio/GridNioServer.java | 197 +-- .../internal/util/nio/GridNioSessionImpl.java | 13 +- .../ignite/internal/util/nio/GridNioWorker.java | 8 +- .../util/nio/GridSelectorNioSessionImpl.java| 12 +- .../IgniteCommunicationBalanceTest.java | 93 + 6 files changed, 126 insertions(+), 200 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/928c805d/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java index 7c428a6..f28c806 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java @@ -461,6 +461,9 @@ public final class IgniteSystemProperties { @Deprecated public static final String IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES = "IGNITE_BINARY_DONT_WRAP_TREE_STRUCTURES"; +/** */ +public static final String IGNITE_IO_BALANCE_PERIOD = "IGNITE_IO_BALANCE_PERIOD"; + /** * Enforces singleton. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/928c805d/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 33e227a..bcc5bf1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -18,7 +18,6 @@ package org.apache.ignite.internal.util.nio; import java.io.IOException; -import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.net.InetAddress; import java.net.InetSocketAddress; @@ -46,6 +45,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import org.apache.ignite.IgniteCheckedException; @@ -67,6 +67,7 @@ import org.apache.ignite.internal.util.worker.GridWorker; import org.apache.ignite.lang.IgniteBiInClosure; import org.apache.ignite.lang.IgniteInClosure; import org.apache.ignite.lang.IgnitePredicate; +import org.apache.ignite.lang.IgniteRunnable; import org.apache.ignite.plugin.extensions.communication.Message; import org.apache.ignite.plugin.extensions.communication.MessageReader; import org.apache.ignite.plugin.extensions.communication.MessageWriter; @@ -91,10 +92,7 @@ import static org.apache.ignite.internal.util.nio.GridNioSessionMetaKey.NIO_OPER */ public class GridNioServer { /** */ -public static final String IGNITE_NIO_SES_BALANCER_CLASS_NAME = "IGNITE_NIO_SES_BALANCER_CLASS_NAME"; - -/** */ -public static final String IGNITE_NIO_SES_BALANCER_BALANCE_PERIOD = "IGNITE_NIO_SES_BALANCER_BALANCE_PERIOD"; +public static final String IGNITE_IO_BALANCE_RANDOM_BALANCE = "IGNITE_IO_BALANCE_RANDOM_BALANCER"; /** Default session write timeout. */ public static final int DFLT_SES_WRITE_TIMEOUT = 5000; @@ -225,7 +223,7 @@ public class GridNioServer { private final AtomicLong writerMoveCnt = new AtomicLong(); /** */ -private final Balancer balancer; +private final IgniteRunnable balancer; /** * @param addr Address. @@ -339,36 +337,29 @@ public class GridNioServer { this.skipRecoveryPred = skipRecoveryPred != null ? skipRecoveryPred : F.alwaysFalse(); -boolean balanceEnabled = IgniteSystemProperties.getBoolean("IGNITE_NIO_SES_BALANCE_ENABLED", true); - -Balancer balancer0 = null; +long balancePeriod = IgniteSystemProperties.getLong(IgniteSystemProperties.IGNITE_IO_BALANCE_PERIOD, 500
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance d6240f907 -> 2518c8168 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2518c816 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2518c816 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2518c816 Branch: refs/heads/ignite-comm-balance Commit: 2518c816894f78a5fed0708b27893914e4110c62 Parents: d6240f9 Author: sboikov Authored: Fri Sep 23 14:35:33 2016 +0300 Committer: sboikov Committed: Fri Sep 23 17:32:20 2016 +0300 -- .../ignite/internal/util/nio/GridNioServer.java | 82 .../util/nio/GridSelectorNioSessionImpl.java| 18 +++ .../communication/tcp/TcpCommunicationSpi.java | 2 +- .../IgniteCommunicationBalanceTest.java | 39 +++--- .../testsuites/IgniteCacheTestSuite2.java | 128 +-- 5 files changed, 220 insertions(+), 49 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/2518c816/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 326d0ad..33e227a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -604,7 +604,12 @@ public class GridNioServer { assert to >= 0 && to < clientWorkers.size() : to; assert from != to; -clientWorkers.get(from).offer(new SessionMoveFuture((GridSelectorNioSessionImpl)ses, to)); +GridSelectorNioSessionImpl ses0 = (GridSelectorNioSessionImpl)ses; + +SessionMoveFuture fut = new SessionMoveFuture(ses0, to); + +if (!ses0.offerMove(clientWorkers.get(from), fut)) +fut.onDone(false); } /** @@ -990,6 +995,7 @@ public class GridNioServer { metricsLsnr.onBytesReceived(cnt); ses.bytesReceived(cnt); + onRead(cnt); readBuf.flip(); @@ -1343,15 +1349,22 @@ public class GridNioServer { /** Worker index. */ private final int idx; -/** Sessions assigned to this worker. */ -private final GridConcurrentHashSet workerSessions = -new GridConcurrentHashSet<>(); +/** */ +private long bytesRcvd; -private volatile long bytesRcvd; -private volatile long bytesSent; +/** */ +private long bytesSent; + +/** */ private volatile long bytesRcvd0; + +/** */ private volatile long bytesSent0; +/** Sessions assigned to this worker. */ +private final GridConcurrentHashSet workerSessions = +new GridConcurrentHashSet<>(); + /** * @param idx Index of this worker in server's array. * @param gridName Grid name. @@ -1468,7 +1481,7 @@ public class GridNioServer { List sesReqs = null; for (GridNioServer.NioOperationFuture changeReq : changeReqs) { -if (changeReq.session() == ses) { +if (changeReq.session() == ses && !(changeReq instanceof SessionMoveFuture)) { boolean rmv = changeReqs.remove(changeReq); assert rmv : changeReq; @@ -2070,17 +2083,26 @@ public class GridNioServer { */ protected abstract void processWrite(SelectionKey key) throws IOException; -protected void onRead(int cnt) { // TODO +/** + * @param cnt + */ +final void onRead(int cnt) { bytesRcvd += cnt; bytesRcvd0 += cnt; } -protected void onWrite(int cnt) { +/** + * @param cnt + */ +final void onWrite(int cnt) { bytesSent += cnt; bytesSent0 += cnt; } -protected void reset0() { +/** + * + */ +final void reset0() { bytesSent0 = 0; bytesRcvd0 = 0; @@ -2266,7 +2288,7 @@ public class GridNioServer { /** Register read key selection. */ REGISTER, -/** */ +/** Move session between workers. */ MOVE, /** Register write key selection. */ @@ -3001,16 +3023,22 @@ public class GridNioServer { for (int i = 0; i < clientWorkers.size(); i++) { GridNioServer.AbstractNioClientWorker worker = clientWorkers.get(i); -if ((i & 1) == 0) { +int sesCnt = worker.workerSessions.size(); +
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance ff37591e4 -> d6240f907 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d6240f90 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d6240f90 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d6240f90 Branch: refs/heads/ignite-comm-balance Commit: d6240f9078672feee416c3f47bf358c8a573c01b Parents: ff37591 Author: sboikov Authored: Fri Sep 23 13:05:51 2016 +0300 Committer: sboikov Committed: Fri Sep 23 13:05:51 2016 +0300 -- .../ignite/internal/util/nio/GridNioServer.java | 2 +- ...unicationBalanceMultipleConnectionsTest.java | 28 + .../IgniteCommunicationBalanceTest.java | 33 ++-- .../ignite/testsuites/IgniteCacheTestSuite.java | 2 ++ .../testsuites/IgniteCacheTestSuite2.java | 7 +++-- 5 files changed, 58 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/d6240f90/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 7b546ef..326d0ad 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -633,7 +633,7 @@ public class GridNioServer { * */ public void dumpStats() { -U.warn(log, "Server statistics [readerSesBalanceCnt=" + readerMoveCount() + +U.warn(log, "NIO server statistics [readerSesBalanceCnt=" + readerMoveCount() + ", writerSesBalanceCnt=" + writerMoveCount() + ']'); for (int i = 0; i < clientWorkers.size(); i++) http://git-wip-us.apache.org/repos/asf/ignite/blob/d6240f90/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceMultipleConnectionsTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceMultipleConnectionsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceMultipleConnectionsTest.java new file mode 100644 index 000..e95b1ec --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceMultipleConnectionsTest.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.internal.managers.communication; + +/** + * + */ +public class IgniteCommunicationBalanceMultipleConnectionsTest extends IgniteCommunicationBalanceTest { +/** {@inheritDoc} */ +@Override protected int connectionsPerNode() { +return 5; +} +} http://git-wip-us.apache.org/repos/asf/ignite/blob/d6240f90/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java index 2e59cb8..efe7f65 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java @@ -68,7 +68,7 @@ public class IgniteCommunicationBalanceTest extends GridCommonAbstractTest { TcpCommunicationSpi commSpi = ((TcpCommunicationSpi)cfg.getCommunicationSpi()); commSpi.setSharedMemoryPort(-1); -commSpi.
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance 0b6508d0d -> ff37591e4 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ff37591e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ff37591e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ff37591e Branch: refs/heads/ignite-comm-balance Commit: ff37591e43df6955101a21c36cbbb065fe0bb636 Parents: 0b6508d Author: sboikov Authored: Fri Sep 23 12:39:00 2016 +0300 Committer: sboikov Committed: Fri Sep 23 12:39:53 2016 +0300 -- .../ignite/testsuites/IgniteCacheTestSuite.java | 305 +-- .../testsuites/IgniteCacheTestSuite2.java | 125 +--- 2 files changed, 157 insertions(+), 273 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/ff37591e/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 0cbc7a5..5b24a13 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 @@ -171,160 +171,157 @@ public class IgniteCacheTestSuite extends TestSuite { public static TestSuite suite(Set ignoredTests) throws Exception { TestSuite suite = new TestSuite("IgniteCache Test Suite"); -//suite.addTestSuite(IgniteCacheEntryListenerAtomicTest.class); -// suite.addTestSuite(IgniteCacheEntryListenerAtomicReplicatedTest.class); -//suite.addTestSuite(IgniteCacheEntryListenerAtomicLocalTest.class); -//suite.addTestSuite(IgniteCacheEntryListenerTxTest.class); -// suite.addTestSuite(IgniteCacheEntryListenerTxOffheapTieredTest.class); -// suite.addTestSuite(IgniteCacheEntryListenerTxOffheapValuesTest.class); -//suite.addTestSuite(IgniteCacheEntryListenerTxReplicatedTest.class); -//suite.addTestSuite(IgniteCacheEntryListenerTxLocalTest.class); -// suite.addTestSuite(IgniteCacheEntryListenerEagerTtlDisabledTest.class); -// suite.addTestSuite(IgniteCacheEntryListenerAtomicOffheapTieredTest.class); -// suite.addTestSuite(IgniteCacheEntryListenerAtomicOffheapValuesTest.class); -// -//suite.addTestSuite(IgniteClientAffinityAssignmentSelfTest.class); -// -//suite.addTestSuite(IgniteCacheAtomicInvokeTest.class); -//suite.addTestSuite(IgniteCacheAtomicNearEnabledInvokeTest.class); -// suite.addTestSuite(IgniteCacheAtomicPrimaryWriteOrderInvokeTest.class); -// suite.addTestSuite(IgniteCacheAtomicPrimaryWriteOrderWithStoreInvokeTest.class); -//suite.addTestSuite(IgniteCacheAtomicLocalInvokeTest.class); -//suite.addTestSuite(IgniteCacheAtomicLocalWithStoreInvokeTest.class); -//suite.addTestSuite(IgniteCacheTxInvokeTest.class); -//suite.addTestSuite(CacheEntryProcessorNonSerializableTest.class); -//suite.addTestSuite(IgniteCacheEntryProcessorCallTest.class); -//GridTestUtils.addTestIfNeeded(suite, CacheEntryProcessorCopySelfTest.class, ignoredTests); -//suite.addTestSuite(IgniteCacheTxNearEnabledInvokeTest.class); -//suite.addTestSuite(IgniteCacheTxLocalInvokeTest.class); -//suite.addTestSuite(IgniteCrossCacheTxStoreSelfTest.class); -// -//suite.addTestSuite(IgnitePutAllLargeBatchSelfTest.class); -// suite.addTestSuite(IgnitePutAllUpdateNonPreloadedPartitionSelfTest.class); -// -//// User's class loader tests. -//GridTestUtils.addTestIfNeeded(suite, IgniteCacheAtomicExecutionContextTest.class, ignoredTests); -//GridTestUtils.addTestIfNeeded(suite, IgniteCachePartitionedExecutionContextTest.class, ignoredTests); -//GridTestUtils.addTestIfNeeded(suite, IgniteCacheReplicatedExecutionContextTest.class, ignoredTests); -//GridTestUtils.addTestIfNeeded(suite, IgniteCacheTxExecutionContextTest.class, ignoredTests); -//GridTestUtils.addTestIfNeeded(suite, IgniteCacheContinuousExecutionContextTest.class, ignoredTests); -//GridTestUtils.addTestIfNeeded(suite, IgniteCacheIsolatedExecutionContextTest.class, ignoredTests); -//GridTestUtils.addTestIfNeeded(suite, IgniteCacheP2PDisableExecutionContextTest.class, ignoredTests); -//GridTestUtils.addTestIfNeeded(suite, IgniteCachePrivateExecutionContextTest.class, ignoredTests); -//GridTestUtils.addTestIfNeeded(suite, IgniteCacheSharedExecutionContextTest.class, ignoredTests); -// -//// Warmup closure tests. -//suite.addTestSuite(
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance c2dcb255d -> 0b6508d0d ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0b6508d0 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0b6508d0 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0b6508d0 Branch: refs/heads/ignite-comm-balance Commit: 0b6508d0d6e0fec7f6001f0cb5a206c982440bd4 Parents: c2dcb25 Author: sboikov Authored: Fri Sep 23 12:29:22 2016 +0300 Committer: sboikov Committed: Fri Sep 23 12:29:22 2016 +0300 -- .../managers/communication/IgniteCommunicationBalanceTest.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/0b6508d0/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java -- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java index f6fd2c1..2e59cb8 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteCommunicationBalanceTest.java @@ -275,6 +275,7 @@ public class IgniteCommunicationBalanceTest extends GridCommonAbstractTest { */ public void testRandomBalance() throws Exception { System.setProperty(GridNioServer.IGNITE_NIO_SES_BALANCER_CLASS_NAME, TestBalancer.class.getName()); + System.setProperty(GridNioServer.IGNITE_NIO_SES_BALANCER_BALANCE_PERIOD, "500"); try { final int NODES = 10; @@ -296,6 +297,7 @@ public class IgniteCommunicationBalanceTest extends GridCommonAbstractTest { } finally { System.setProperty(GridNioServer.IGNITE_NIO_SES_BALANCER_CLASS_NAME, ""); + System.setProperty(GridNioServer.IGNITE_NIO_SES_BALANCER_BALANCE_PERIOD, ""); } } @@ -350,9 +352,6 @@ public class IgniteCommunicationBalanceTest extends GridCommonAbstractTest { while (w2 == w1) w2 = rnd.nextInt(clientWorkers.size()); -if (clientWorkers.get(w2).sessions().isEmpty()) -return; - GridNioSession ses = randomSession(clientWorkers.get(w1)); if (ses != null) {
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance de50ab3ef -> c2dcb255d ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/c2dcb255 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/c2dcb255 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/c2dcb255 Branch: refs/heads/ignite-comm-balance Commit: c2dcb255d0ef4a9ef3f67652612cb9303fff5e7a Parents: de50ab3 Author: sboikov Authored: Fri Sep 23 12:24:14 2016 +0300 Committer: sboikov Committed: Fri Sep 23 12:24:14 2016 +0300 -- .../ignite/internal/util/nio/GridNioServer.java | 21 +- .../internal/util/nio/GridNioSessionImpl.java | 29 -- .../IgniteCommunicationBalanceTest.java | 33 +- .../ignite/testsuites/IgniteCacheTestSuite.java | 305 ++- 4 files changed, 188 insertions(+), 200 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/c2dcb255/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 7352b5c..7b546ef 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -633,6 +633,9 @@ public class GridNioServer { * */ public void dumpStats() { +U.warn(log, "Server statistics [readerSesBalanceCnt=" + readerMoveCount() + +", writerSesBalanceCnt=" + writerMoveCount() + ']'); + for (int i = 0; i < clientWorkers.size(); i++) clientWorkers.get(i).offer(new NioOperationFuture(null, NioOperation.DUMP_STATS)); } @@ -987,7 +990,6 @@ public class GridNioServer { metricsLsnr.onBytesReceived(cnt); ses.bytesReceived(cnt); -ses.onBytesRead(cnt, readBuf.capacity()); onRead(cnt); readBuf.flip(); @@ -1303,7 +1305,6 @@ public class GridNioServer { metricsLsnr.onBytesSent(cnt); ses.bytesSent(cnt); -ses.onBytesWritten(cnt, buf.capacity()); onWrite(cnt); } else { @@ -1527,6 +1528,8 @@ public class GridNioServer { ses); ses.key(key); + +f.onDone(true); } else { assert f.movedSocketChannel() == null : f; @@ -1536,12 +1539,16 @@ public class GridNioServer { SelectionKey key = ses.key(); +assert key.channel() != null : key; + f.movedSocketChannel((SocketChannel)key.channel()); key.cancel(); clientWorkers.get(f.toIndex()).offer(f); } +else +f.onDone(false); } break; @@ -1656,8 +1663,6 @@ public class GridNioServer { .append(", bytesSent=").append(ses.bytesSent()) .append(", bytesSent0=").append(ses.bytesSent0()) .append(", opQueueSize=").append(ses.writeQueueSize()) -.append(", writeStats=").append(Arrays.toString(ses.writeStats())) -.append(", readStats=").append(Arrays.toString(ses.readStats())) .append(", msgWriter=").append(writer != null ? writer.toString() : "null") .append(", msgReader=").append(reader != null ? reader.toString() : "null"); @@ -2487,7 +2492,7 @@ public class GridNioServer { /** * */ -private static class SessionMoveFuture extends NioOperationFuture { +private static class SessionMoveFuture extends NioOperationFuture { /** */ private final int toIdx; @@ -2526,6 +2531,8 @@ public class GridNioServer { * @param movedSockCh Moved session socket channel. */ void movedSocketChannel(SocketChannel movedSockCh) { +assert movedSockCh != null; + this.movedSockCh = movedSockCh; } @@ -3073,7 +3080,7 @@ public class GridNioServe
ignite git commit: ignite-comm-balance
Repository: ignite Updated Branches: refs/heads/ignite-comm-balance 5ebb7ebb9 -> a1e875d34 ignite-comm-balance Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a1e875d3 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a1e875d3 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a1e875d3 Branch: refs/heads/ignite-comm-balance Commit: a1e875d34778dc7d97c468fc5ffc5dd926bc78d1 Parents: 5ebb7eb Author: sboikov Authored: Fri Sep 16 17:30:59 2016 +0300 Committer: sboikov Committed: Fri Sep 16 17:30:59 2016 +0300 -- .../ignite/internal/util/nio/GridNioServer.java | 37 +++- .../ignite/internal/util/nio/GridNioWorker.java | 28 +++ .../util/nio/GridSelectorNioSessionImpl.java| 28 ++- 3 files changed, 59 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ignite/blob/a1e875d3/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java -- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 3ede2cb..961def9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@ -434,10 +434,11 @@ public class GridNioServer { NioOperationFuture fut = new NioOperationFuture<>(impl, NioOperation.CLOSE); -int idx = impl.selectorIndex(); // TODO - -if (idx != -1) -clientWorkers.get(idx).offer(fut); +impl.offerStateChange(fut); +//int idx = impl.selectorIndex(); // TODO +// +//if (idx != -1) +//clientWorkers.get(idx).offer(fut); return fut; } @@ -499,10 +500,11 @@ public class GridNioServer { } else if (msgCnt == 1) { // Change from 0 to 1 means that worker thread should be waken up. -int idx = ses.selectorIndex(); - -if (idx != -1) // TODO revisit -clientWorkers.get(idx).offer(fut); +//int idx = ses.selectorIndex(); +// +//if (idx != -1) // TODO revisit +//clientWorkers.get(idx).offer(fut); +ses.offerStateChange(fut); } if (msgQueueLsnr != null) @@ -576,7 +578,8 @@ public class GridNioServer { ses0.resend(futs); // Wake up worker. - clientWorkers.get(ses0.selectorIndex()).offer(((NioOperationFuture)fut0)); + //clientWorkers.get(ses0.selectorIndex()).offer(((NioOperationFuture)fut0)); +ses0.offerStateChange(fut0); } } @@ -615,7 +618,7 @@ public class GridNioServer { NioOperationFuture fut = new NioOperationFuture(impl, op); -clientWorkers.get(impl.selectorIndex()).offer(fut); +impl.offerStateChange(fut); return fut; } @@ -1324,7 +1327,7 @@ public class GridNioServer { /** * Thread performing only read operations from the channel. */ -public abstract class AbstractNioClientWorker extends GridWorker { +public abstract class AbstractNioClientWorker extends GridWorker implements GridNioWorker { /** Queue of change requests on this selector. */ private final ConcurrentLinkedQueue changeReqs = new ConcurrentLinkedQueue<>(); @@ -1445,8 +1448,8 @@ public class GridNioServer { * * @param req Change request. */ -private void offer(NioOperationFuture req) { -changeReqs.offer(req); +@Override public void offer(GridNioFuture req) { +changeReqs.offer((NioOperationFuture)req); selector.wakeup(); } @@ -1478,7 +1481,7 @@ public class GridNioServer { GridSelectorNioSessionImpl ses = f.session(); if (idx == f.toIdx) { -ses.selectorIndex(idx); +ses.worker = this; sessions0.add(ses); @@ -1489,10 +1492,10 @@ public class GridNioServer { } else { if (sessions0.remove(ses)) { -assert ses.selectorIndex() == idx; // TODO replace with IF and ignore? +assert ses.worker == this; // TODO replace with IF and ignore? // Cleanup. -ses.selectorIndex(-1); +