You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by be...@apache.org on 2014/06/23 22:42:27 UTC
git commit: Permit configurable timestamps with cassandra-stress
(CASSANDRA-7416)
Repository: cassandra
Updated Branches:
refs/heads/trunk fdb35512d -> 2a3e2021f
Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
patch by Matt Kennedy; reviewed by Benedict Elliott Smith for CASSANDRA-7416
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2a3e2021
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2a3e2021
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2a3e2021
Branch: refs/heads/trunk
Commit: 2a3e2021f134ad51de0f025b253907ee5f391a86
Parents: fdb3551
Author: stinkymatt <st...@gmail.com>
Authored: Mon Jun 23 21:41:19 2014 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Mon Jun 23 21:41:19 2014 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/stress/operations/CqlInserter.java | 2 ++
.../apache/cassandra/stress/operations/ThriftInserter.java | 4 +++-
.../org/apache/cassandra/stress/settings/SettingsColumn.java | 7 +++++--
4 files changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2a3e2021/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7124ec4..3b14fbe 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0
+ * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
* Move sstable RandomAccessReader to nio2, which allows using the
FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
* Remove CQL2 (CASSANDRA-5918)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2a3e2021/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java
index 45e375b..b459e04 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlInserter.java
@@ -41,6 +41,8 @@ public class CqlInserter extends CqlOperation<Integer>
protected String buildQuery()
{
StringBuilder query = new StringBuilder("UPDATE ").append(wrapInQuotes(state.type.table));
+ if (state.settings.columns.timestamp != null)
+ query.append(" USING TIMESTAMP ").append(state.settings.columns.timestamp);
query.append(" SET ");
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2a3e2021/tools/stress/src/org/apache/cassandra/stress/operations/ThriftInserter.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/ThriftInserter.java b/tools/stress/src/org/apache/cassandra/stress/operations/ThriftInserter.java
index 7077a95..73515ae 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/ThriftInserter.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/ThriftInserter.java
@@ -109,7 +109,9 @@ public final class ThriftInserter extends Operation
for (int i = 0 ; i < values.size() ; i++)
columns.get(i)
.setValue(values.get(i))
- .setTimestamp(FBUtilities.timestampMicros());
+ .setTimestamp(state.settings.columns.timestamp != null
+ ? Long.parseLong(state.settings.columns.timestamp)
+ : FBUtilities.timestampMicros());
return columns;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2a3e2021/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
index 7e20ec6..4fac5d0 100644
--- a/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
+++ b/tools/stress/src/org/apache/cassandra/stress/settings/SettingsColumn.java
@@ -42,6 +42,7 @@ public class SettingsColumn implements Serializable
public final List<ByteBuffer> names;
public final List<String> namestrs;
public final String comparator;
+ public final String timestamp;
public final boolean useTimeUUIDComparator;
public final int superColumns;
public final boolean useSuperColumns;
@@ -66,6 +67,7 @@ public class SettingsColumn implements Serializable
dataGenFactory = options.generator.get();
useSuperColumns = superColumns > 0;
{
+ timestamp = options.timestamp.value();
comparator = options.comparator.value();
AbstractType parsed = null;
@@ -149,6 +151,7 @@ public class SettingsColumn implements Serializable
final OptionSimple superColumns = new OptionSimple("super=", "[0-9]+", "0", "Number of super columns to use (no super columns used if not specified)", false);
final OptionSimple comparator = new OptionSimple("comparator=", "TimeUUIDType|AsciiType|UTF8Type", "AsciiType", "Column Comparator to use", false);
final OptionSimple slice = new OptionSimple("slice", "", null, "If set, range slices will be used for reads, otherwise a names query will be", false);
+ final OptionSimple timestamp = new OptionSimple("timestamp=", "[0-9]+", null, "If set, all columns will be written with the given timestamp", false);
final OptionDistribution size = new OptionDistribution("size=", "FIXED(34)", "Cell size distribution");
final OptionDataGen generator = new OptionDataGen("data=", "REPEAT(50)");
}
@@ -160,7 +163,7 @@ public class SettingsColumn implements Serializable
@Override
public List<? extends Option> options()
{
- return Arrays.asList(name, slice, superColumns, comparator, size, generator);
+ return Arrays.asList(name, slice, superColumns, comparator, timestamp, size, generator);
}
}
@@ -171,7 +174,7 @@ public class SettingsColumn implements Serializable
@Override
public List<? extends Option> options()
{
- return Arrays.asList(count, slice, superColumns, comparator, size, generator);
+ return Arrays.asList(count, slice, superColumns, comparator, timestamp, size, generator);
}
}