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 2017/05/29 07:18:30 UTC
[14/30] ignite git commit: ignite-5075
ignite-5075
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8d7233e8
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8d7233e8
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8d7233e8
Branch: refs/heads/ignite-5075-pds
Commit: 8d7233e800e6c1f6f6dc498b85b9b8afd007c261
Parents: 118a02c
Author: sboikov <sb...@gridgain.com>
Authored: Fri May 26 12:03:08 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri May 26 12:03:08 2017 +0300
----------------------------------------------------------------------
.../IgniteCacheRandomOperationBenchmark.java | 42 +++++++++++++-------
1 file changed, 28 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8d7233e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/load/IgniteCacheRandomOperationBenchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/load/IgniteCacheRandomOperationBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/load/IgniteCacheRandomOperationBenchmark.java
index 4010f5e..9c9cbe4 100644
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/load/IgniteCacheRandomOperationBenchmark.java
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/load/IgniteCacheRandomOperationBenchmark.java
@@ -31,6 +31,9 @@ import java.util.TreeMap;
import java.util.TreeSet;
import java.util.UUID;
import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.atomic.AtomicLong;
import javax.cache.CacheException;
@@ -448,25 +451,36 @@ public class IgniteCacheRandomOperationBenchmark extends IgniteAbstractBenchmark
startPreloadLogging(args.preloadLogsInterval());
- Thread[] threads = new Thread[availableCaches.size()];
+ ExecutorService executor = Executors.newFixedThreadPool(10);
- for (int i = 0; i < availableCaches.size(); i++) {
- final String cacheName = availableCaches.get(i).getName();
+ try {
+ List<Future<?>> futs = new ArrayList<>();
+
+ final Thread thread = Thread.currentThread();
+
+ for (int i = 0; i < availableCaches.size(); i++) {
+ final String cacheName = availableCaches.get(i).getName();
- threads[i] = new Thread() {
- @Override public void run() {
- try (IgniteDataStreamer<Object, Object> dataLdr = ignite().dataStreamer(cacheName)) {
- for (int i = 0; i < args.preloadAmount() && !isInterrupted(); i++)
- dataLdr.addData(createRandomKey(i, cacheName), createRandomValue(i, cacheName));
+ futs.add(executor.submit(new Runnable() {
+ @Override public void run() {
+ try (IgniteDataStreamer<Object, Object> dataLdr = ignite().dataStreamer(cacheName)) {
+ for (int i = 0; i < args.preloadAmount(); i++) {
+ if (i % 100 == 0 && thread.isInterrupted())
+ break;
+
+ dataLdr.addData(createRandomKey(i, cacheName), createRandomValue(i, cacheName));
+ }
+ }
}
- }
- };
+ }));
+ }
- threads[i].start();
+ for (Future<?> fut : futs)
+ fut.get();
+ }
+ finally {
+ executor.shutdown();
}
-
- for (Thread thread : threads)
- thread.join();
stopPreloadLogging();
}