diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/StressSettings.java b/tools/stress/src/org/apache/cassandra/stress/settings/StressSettings.java index 6d2f7ea02f..de0f6f6245 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/StressSettings.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/StressSettings.java @@ -211,6 +211,7 @@ public class StressSettings implements Serializable { try { + args = repairParams(args); final Map clArgs = parseMap(args); if (clArgs.containsKey("legacy")) return Legacy.build(Arrays.copyOfRange(args, 1, args.length)); @@ -226,6 +227,23 @@ public class StressSettings implements Serializable } } + private static String[] repairParams(String[] args) + { + StringBuilder sb = new StringBuilder(); + boolean first = true; + for (String arg : args) + { + if (!first) + sb.append(" "); + sb.append(arg); + first = false; + } + return sb.toString() + .replaceAll("\s+([,=()])", "$1") + .replaceAll("([,=(])\s+", "$1") + .split(" +"); + } + public static StressSettings get(Map clArgs) { SettingsCommand command = SettingsCommand.get(clArgs);