#ignite-571: Add near cache flag to benchmark.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/eaf7aaec Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/eaf7aaec Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/eaf7aaec Branch: refs/heads/ignite-sprint-3 Commit: eaf7aaecdf5e92720962a005abf7acc5baf8f013 Parents: e799b78 Author: ivasilinets <ivasilin...@gridgain.com> Authored: Fri Apr 3 13:09:49 2015 +0300 Committer: ivasilinets <ivasilin...@gridgain.com> Committed: Fri Apr 3 13:09:49 2015 +0300 ---------------------------------------------------------------------- modules/yardstick/README.md | 3 ++- .../ignite/yardstick/IgniteAbstractBenchmark.java | 4 ++-- .../ignite/yardstick/IgniteBenchmarkArguments.java | 13 ++++++++++++- .../java/org/apache/ignite/yardstick/IgniteNode.java | 5 ++++- 4 files changed, 20 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eaf7aaec/modules/yardstick/README.md ---------------------------------------------------------------------- diff --git a/modules/yardstick/README.md b/modules/yardstick/README.md index 9821708..36f4314 100644 --- a/modules/yardstick/README.md +++ b/modules/yardstick/README.md @@ -56,7 +56,8 @@ The following Ignite benchmark properties can be defined in the benchmark config * `-b <num>` or `--backups <num>` - Number of backups for every key * `-cfg <path>` or `--Config <path>` - Path to Ignite configuration file * `-sm <mode>` or `-syncMode <mode>` - Synchronization mode (defined in `CacheWriteSynchronizationMode`) -* `-cl` or `--client <mode>` - Client flag +* `-cl` or `--client` - Client flag +* `-nc` or `--nearCache` - Near cache flag * `-wom <mode>` or `--writeOrderMode <mode>` - Write order mode for ATOMIC caches (defined in `CacheAtomicWriteOrderMode`) * `-txc <value>` or `--txConcurrency <value>` - Cache transaction concurrency control, either `OPTIMISTIC` or `PESSIMISTIC` (defined in `CacheTxConcurrency`) * `-txi <value>` or `--txIsolation <value>` - Cache transaction isolation (defined in `CacheTxIsolation`) http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eaf7aaec/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteAbstractBenchmark.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteAbstractBenchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteAbstractBenchmark.java index 1e69582..b848ad1 100644 --- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteAbstractBenchmark.java +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteAbstractBenchmark.java @@ -44,13 +44,13 @@ public abstract class IgniteAbstractBenchmark extends BenchmarkDriverAdapter { jcommander(cfg.commandLineArguments(), args, "<ignite-driver>"); if (Ignition.state() != IgniteState.STARTED) { - node = new IgniteNode(args.isClientOnly()); + node = new IgniteNode(args.isClientOnly() && !args.isNearCache()); node.start(cfg); } else // Support for mixed benchmarks mode. - node = new IgniteNode(args.isClientOnly(), Ignition.ignite()); + node = new IgniteNode(args.isClientOnly() && !args.isNearCache(), Ignition.ignite()); waitForNodes(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eaf7aaec/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkArguments.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkArguments.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkArguments.java index c2901b2..b21bed3 100644 --- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkArguments.java +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteBenchmarkArguments.java @@ -47,6 +47,10 @@ public class IgniteBenchmarkArguments { private boolean clientOnly = false; /** */ + @Parameter(names = {"-nc", "--nearCache"}, description = "Near cache flag") + private boolean nearCacheFlag = false; + + /** */ @Parameter(names = {"-wom", "--writeOrderMode"}, description = "Write ordering mode") private CacheAtomicWriteOrderMode orderMode; @@ -130,6 +134,13 @@ public class IgniteBenchmarkArguments { } /** + * @return Near cache flag. + */ + public boolean isNearCache() { + return nearCacheFlag; + } + + /** * @return Synchronization. */ public CacheWriteSynchronizationMode syncMode() { @@ -224,7 +235,7 @@ public class IgniteBenchmarkArguments { * @return Description. */ public String description() { - return "-nn=" + nodes + "-b=" + backups + "-sm=" + syncMode + "-cl=" + clientOnly + + return "-nn=" + nodes + "-b=" + backups + "-sm=" + syncMode + "-cl=" + clientOnly + "-nc=" + nearCacheFlag + (orderMode == null ? "" : "-wom=" + orderMode) + "-txc=" + txConcurrency; } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/eaf7aaec/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteNode.java ---------------------------------------------------------------------- diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteNode.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteNode.java index ed9d768..ad6cffa 100644 --- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteNode.java +++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/IgniteNode.java @@ -72,12 +72,15 @@ public class IgniteNode implements BenchmarkServer { for (CacheConfiguration cc : c.getCacheConfiguration()) { // IgniteNode can not run in CLIENT_ONLY mode, // except the case when it's used inside IgniteAbstractBenchmark. - boolean cl = args.isClientOnly() && !clientMode ? + boolean cl = args.isClientOnly() && !args.isNearCache() && !clientMode ? false : args.isClientOnly(); if (cl) c.setClientMode(true); + if (args.isNearCache()) + c.setNearCacheConfiguration(new NearCacheConfiguration()); + cc.setWriteSynchronizationMode(args.syncMode()); if (args.orderMode() != null)