Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9845C11D6B for ; Fri, 1 Aug 2014 20:51:14 +0000 (UTC) Received: (qmail 46584 invoked by uid 500); 1 Aug 2014 20:51:14 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 46549 invoked by uid 500); 1 Aug 2014 20:51:14 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 46522 invoked by uid 99); 1 Aug 2014 20:51:14 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Aug 2014 20:51:14 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 1C5CD9BE867; Fri, 1 Aug 2014 20:51:14 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: benedict@apache.org To: commits@cassandra.apache.org Date: Fri, 01 Aug 2014 20:51:14 -0000 Message-Id: <148bb065807e43e8926b171aa4a810db@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/2] git commit: Fix serialization of command ratios in cassandra-stress/stressd Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 3faf88cd0 -> 4f778d2e7 Fix serialization of command ratios in cassandra-stress/stressd patch by rspitzer; reviewed by benedict for CASSANDRA-7559 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/24f6f038 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/24f6f038 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/24f6f038 Branch: refs/heads/cassandra-2.1 Commit: 24f6f038ef88d8f8b3ef608148ae5a848b302ac5 Parents: a182ea0 Author: Benedict Elliott Smith Authored: Fri Aug 1 21:48:19 2014 +0100 Committer: Benedict Elliott Smith Committed: Fri Aug 1 21:48:19 2014 +0100 ---------------------------------------------------------------------- .../stress/settings/OptionAnyProbabilities.java | 9 +++------ .../stress/settings/OptionEnumProbabilities.java | 9 +++++---- .../settings/SettingsCommandPreDefinedMixed.java | 9 +++++++-- .../cassandra/stress/settings/SettingsCommandUser.java | 13 +++++++++---- 4 files changed, 24 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java ---------------------------------------------------------------------- diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java b/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java index 4e2ad64..b685294 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/OptionAnyProbabilities.java @@ -27,8 +27,8 @@ import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.HashMap; -import org.apache.commons.math3.util.Pair; public final class OptionAnyProbabilities extends OptionMulti { @@ -88,12 +88,9 @@ public final class OptionAnyProbabilities extends OptionMulti return Arrays.asList(ratios); } - List> ratios() + Map ratios() { - List> ratiosOut = new ArrayList<>(); - for (Map.Entry e : ratios.options.entrySet()) - ratiosOut.add(new Pair(e.getKey(), e.getValue())); - return ratiosOut; + return ratios.options; } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java ---------------------------------------------------------------------- diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java b/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java index b1c5c49..71d7a8d 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/OptionEnumProbabilities.java @@ -23,8 +23,9 @@ package org.apache.cassandra.stress.settings; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.HashMap; -import org.apache.commons.math3.util.Pair; public final class OptionEnumProbabilities extends OptionMulti { @@ -67,15 +68,15 @@ public final class OptionEnumProbabilities extends OptionMulti return options; } - List> ratios() + Map ratios() { List ratiosIn = setByUser() ? optionsSetByUser() : defaultOptions(); - List> ratiosOut = new ArrayList<>(); + Map ratiosOut = new HashMap<>(); for (Option opt : ratiosIn) { OptMatcher optMatcher = (OptMatcher) opt; double d = Double.parseDouble(optMatcher.value()); - ratiosOut.add(new Pair<>(optMatcher.opt, d)); + ratiosOut.put(optMatcher.opt, d); } return ratiosOut; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java ---------------------------------------------------------------------- diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java index e5d4f80..49d3c56 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandPreDefinedMixed.java @@ -23,6 +23,7 @@ package org.apache.cassandra.stress.settings; import java.util.ArrayList; import java.util.List; +import java.util.Map; import org.apache.cassandra.stress.Operation; import org.apache.cassandra.stress.generate.DistributionFactory; @@ -39,7 +40,7 @@ public class SettingsCommandPreDefinedMixed extends SettingsCommandPreDefined { // Ratios for selecting commands - index for each Command, NaN indicates the command is not requested - private final List> ratios; + private final Map ratios; private final DistributionFactory clustering; public SettingsCommandPreDefinedMixed(Options options) @@ -54,7 +55,11 @@ public class SettingsCommandPreDefinedMixed extends SettingsCommandPreDefined public OpDistributionFactory getFactory(final StressSettings settings) { - return new SampledOpDistributionFactory(ratios, clustering) + final List> mathPairs = new ArrayList<>(); + for (Map.Entry entry: ratios.entrySet()) + mathPairs.add(new Pair(entry.getKey(),entry.getValue())); + + return new SampledOpDistributionFactory(mathPairs, clustering) { protected Operation get(Timer timer, PartitionGenerator generator, Command key) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/24f6f038/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandUser.java ---------------------------------------------------------------------- diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandUser.java b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandUser.java index f36296e..08d538e 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandUser.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsCommandUser.java @@ -24,8 +24,7 @@ package org.apache.cassandra.stress.settings; import java.io.File; import java.util.ArrayList; import java.util.List; - -import org.apache.commons.math3.util.Pair; +import java.util.Map; import org.apache.cassandra.stress.Operation; import org.apache.cassandra.stress.StressProfile; @@ -35,12 +34,14 @@ import org.apache.cassandra.stress.operations.OpDistributionFactory; import org.apache.cassandra.stress.operations.SampledOpDistributionFactory; import org.apache.cassandra.stress.util.Timer; +import org.apache.commons.math3.util.Pair; + // Settings unique to the mixed command type public class SettingsCommandUser extends SettingsCommand { // Ratios for selecting commands - index for each Command, NaN indicates the command is not requested - private final List> ratios; + private final Map ratios; private final DistributionFactory clustering; public final StressProfile profile; @@ -58,7 +59,11 @@ public class SettingsCommandUser extends SettingsCommand public OpDistributionFactory getFactory(final StressSettings settings) { - return new SampledOpDistributionFactory(ratios, clustering) + final List> mathPairs = new ArrayList<>(); + for (Map.Entry entry: ratios.entrySet()) + mathPairs.add(new Pair(entry.getKey(), entry.getValue())); + + return new SampledOpDistributionFactory(mathPairs, clustering) { protected Operation get(Timer timer, PartitionGenerator generator, String key) {