You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/12/09 08:37:05 UTC
[39/50] [abbrv] ignite git commit: Fixed race in
IgniteTransactionalWriteInvokeBenchmark test.
Fixed race in IgniteTransactionalWriteInvokeBenchmark test.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3a340034
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3a340034
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3a340034
Branch: refs/heads/ignite-1.5.1
Commit: 3a340034056f5da0ca00ed88e128b59cc28381d2
Parents: efe632b
Author: ashutak <as...@gridgain.com>
Authored: Tue Dec 8 16:02:36 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Tue Dec 8 16:02:36 2015 +0300
----------------------------------------------------------------------
.../config/benchmark-failover.properties | 2 +-
...IgniteTransactionalWriteInvokeBenchmark.java | 42 +++++++++++++++-----
2 files changed, 33 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3a340034/modules/yardstick/config/benchmark-failover.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-failover.properties b/modules/yardstick/config/benchmark-failover.properties
index 7ed464c..352e2d4 100644
--- a/modules/yardstick/config/benchmark-failover.properties
+++ b/modules/yardstick/config/benchmark-failover.properties
@@ -60,7 +60,7 @@ RESTART_SERVERS=true
SERVER_HOSTS=localhost,localhost
# Comma-separated list of the hosts to run BenchmarkDrivers on.
-DRIVER_HOSTS=localhost
+DRIVER_HOSTS=localhost,localhost
# Remote username.
# REMOTE_USER=
http://git-wip-us.apache.org/repos/asf/ignite/blob/3a340034/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalWriteInvokeBenchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalWriteInvokeBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalWriteInvokeBenchmark.java
index 35befad..67044a1 100644
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalWriteInvokeBenchmark.java
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/failover/IgniteTransactionalWriteInvokeBenchmark.java
@@ -25,9 +25,11 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
+import java.util.concurrent.TimeUnit;
import javax.cache.processor.EntryProcessorException;
import javax.cache.processor.MutableEntry;
import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteCountDownLatch;
import org.apache.ignite.IgniteDataStreamer;
import org.apache.ignite.cache.CacheEntryProcessor;
import org.apache.ignite.cache.affinity.Affinity;
@@ -58,29 +60,49 @@ public class IgniteTransactionalWriteInvokeBenchmark extends IgniteFailoverAbstr
/** */
private static final Long INITIAL_VALUE = 1L;
+ /** */
+ public static final int TIMEOUT_SEC = 20 * 60;
+
/** {@inheritDoc} */
@Override public void setUp(BenchmarkConfiguration cfg) throws Exception {
super.setUp(cfg);
assert args.keysCount() > 0 : "Count of keys: " + args.keysCount();
- println(cfg, "Populating data...");
+ IgniteCountDownLatch latch = ignite().countDownLatch("DATA-POPULATED-LATCH-" + cacheName(), 1, true, true);
+
+ if (cfg.memberId() == 0) {
+ println(cfg, "Populating data for cache: " + cacheName());
- long start = System.nanoTime();
+ long start = System.nanoTime();
- try (IgniteDataStreamer<String, Long> dataLdr = ignite().dataStreamer(cacheName())) {
- for (int k = 0; k < args.range() && !Thread.currentThread().isInterrupted(); k++) {
- dataLdr.addData("key-" + k + "-master", INITIAL_VALUE);
+ try (IgniteDataStreamer<String, Long> dataLdr = ignite().dataStreamer(cacheName())) {
+ for (int k = 0; k < args.range() && !Thread.currentThread().isInterrupted(); k++) {
+ dataLdr.addData("key-" + k + "-master", INITIAL_VALUE);
- for (int i = 0; i < args.keysCount(); i++)
- dataLdr.addData("key-" + k + "-" + i, INITIAL_VALUE);
+ for (int i = 0; i < args.keysCount(); i++)
+ dataLdr.addData("key-" + k + "-" + i, INITIAL_VALUE);
- if (k % 100000 == 0)
- println(cfg, "Populated accounts: " + k);
+ if (k % 100000 == 0)
+ println(cfg, "Populated accounts: " + k);
+ }
}
+
+ println(cfg, "Finished populating data in " + ((System.nanoTime() - start) / 1_000_000)
+ + " ms. for cache: " + cacheName());
+
+ latch.countDown();
}
+ else {
+ println(cfg, "Waiting for populating data in cache by driver with id 0: " + cacheName());
+
+ boolean success = latch.await(TIMEOUT_SEC, TimeUnit.SECONDS);
- println(cfg, "Finished populating data in " + ((System.nanoTime() - start) / 1_000_000) + " ms.");
+ if (!success)
+ throw new IllegalStateException("Failed to wait that data populating finish.");
+
+ println(cfg, "Finished waiting for populating data in cache by driver with id 0: " + cacheName());
+ }
}
/** {@inheritDoc} */