From 1d8ba59c9be863b4a06c15cb329e27244c7506da Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 29 Dec 2010 19:38:00 +0000 Subject: [PATCH] Fix for stress.java using wrong key names and not detecting empty keys. Patch by Pavel Yaskevich, reviewed by brandonwilliams for CASSANDRA-1915 git-svn-id: https://svn.apache.org/repos/asf/cassandra/branches/cassandra-0.7@1053715 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/cassandra/contrib/stress/Session.java | 2 +- .../cassandra/contrib/stress/tests/Reader.java | 14 ++++++++++---- .../contrib/stress/util/OperationThread.java | 4 ++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java b/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java index f833f47b75..56071f3c93 100644 --- a/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java +++ b/contrib/stress/src/org/apache/cassandra/contrib/stress/Session.java @@ -164,7 +164,7 @@ public class Session columnFamilyType = ColumnFamilyType.valueOf(cmd.getOptionValue("y")); if (cmd.hasOption("k")) - ignoreErrors = Boolean.parseBoolean(cmd.getOptionValue("k")); + ignoreErrors = true; if (cmd.hasOption("i")) progressInterval = Integer.parseInt(cmd.getOptionValue("i")); diff --git a/contrib/stress/src/org/apache/cassandra/contrib/stress/tests/Reader.java b/contrib/stress/src/org/apache/cassandra/contrib/stress/tests/Reader.java index 6a1000e6d9..530d1637ac 100644 --- a/contrib/stress/src/org/apache/cassandra/contrib/stress/tests/Reader.java +++ b/contrib/stress/src/org/apache/cassandra/contrib/stress/tests/Reader.java @@ -75,9 +75,12 @@ public class Reader extends OperationThread List columns; columns = client.get_slice(key, parent, predicate, session.getConsistencyLevel()); - if (columns == null) + if (columns.size() == 0) { - throw new RuntimeException(String.format("Key %s not found.", superColumn)); + System.err.println(String.format("Key %s not found.", superColumn)); + + if (!session.ignoreErrors()) + break; } } catch (Exception e) @@ -111,9 +114,12 @@ public class Reader extends OperationThread List columns; columns = client.get_slice(keyBuffer, parent, predicate, session.getConsistencyLevel()); - if (columns == null) + if (columns.size() == 0) { - throw new RuntimeException(String.format("Key %s not found.", key.toString())); + System.err.println(String.format("Key %s not found.", new String(key))); + + if (!session.ignoreErrors()) + break; } } catch (Exception e) diff --git a/contrib/stress/src/org/apache/cassandra/contrib/stress/util/OperationThread.java b/contrib/stress/src/org/apache/cassandra/contrib/stress/util/OperationThread.java index d51b97644c..4d08aa4819 100644 --- a/contrib/stress/src/org/apache/cassandra/contrib/stress/util/OperationThread.java +++ b/contrib/stress/src/org/apache/cassandra/contrib/stress/util/OperationThread.java @@ -101,7 +101,7 @@ public abstract class OperationThread extends Thread */ private byte[] generateGaussKey() { - String format = "%0" + session.getTotalKeysLength() + "f"; + String format = "%0" + session.getTotalKeysLength() + "d"; for (;;) { @@ -109,7 +109,7 @@ public abstract class OperationThread extends Thread if (0 <= token && token < session.getNumKeys()) { - return String.format(format, token).getBytes(); + return String.format(format, (int) token).getBytes(); } } }