Make stress use client mode to avoid checking commit log size on startup

Patch by Denis Ranger; Reviewed by Paulo Motta for CASSANDRA-12478


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/db869bc7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/db869bc7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/db869bc7

Branch: refs/heads/cassandra-3.X
Commit: db869bc77451dfd5e6afec604251c9bef8779c00
Parents: 85ac06c
Author: Denis Ranger <denis.ran...@datastax.com>
Authored: Thu Aug 11 19:28:43 2016 -0400
Committer: Aleksey Yeschenko <alek...@apache.org>
Committed: Tue Oct 4 16:10:52 2016 +0100

----------------------------------------------------------------------
 CHANGES.txt                                                  | 1 +
 .../src/org/apache/cassandra/stress/StressProfile.java       | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/db869bc7/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d38bf3e..827a208 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.10
+ * Make stress use client mode to avoid checking commit log size on startup 
(CASSANDRA-12478)
  * Fix exceptions with new vnode allocation (CASSANDRA-12715)
  * Unify drain and shutdown processes (CASSANDRA-12509)
  * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/db869bc7/tools/stress/src/org/apache/cassandra/stress/StressProfile.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/StressProfile.java 
b/tools/stress/src/org/apache/cassandra/stress/StressProfile.java
index 5243d96..c19e0cd 100644
--- a/tools/stress/src/org/apache/cassandra/stress/StressProfile.java
+++ b/tools/stress/src/org/apache/cassandra/stress/StressProfile.java
@@ -35,8 +35,10 @@ import com.google.common.util.concurrent.Uninterruptibles;
 import com.datastax.driver.core.*;
 import com.datastax.driver.core.exceptions.AlreadyExistsException;
 import org.apache.cassandra.config.CFMetaData;
+import org.apache.cassandra.config.Config;
 import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.cql3.statements.CreateKeyspaceStatement;
+import org.apache.cassandra.cql3.statements.CreateTableStatement;
 import org.apache.cassandra.exceptions.RequestValidationException;
 import org.apache.cassandra.exceptions.SyntaxException;
 import org.apache.cassandra.stress.generate.*;
@@ -89,6 +91,10 @@ public class StressProfile implements Serializable
 
     private void init(StressYaml yaml) throws RequestValidationException
     {
+        // Use client mode. Otherwise, users with no read permission on 
/var/lib/commitlog won't be able to
+        // use cassandra-stress...
+        Config.setClientMode(true);
+
         keyspaceName = yaml.keyspace;
         keyspaceCql = yaml.keyspace_definition;
         tableName = yaml.table;
@@ -129,7 +135,7 @@ public class StressProfile implements Serializable
         {
             try
             {
-                String name = CFMetaData.compile(tableCql, 
keyspaceName).cfName;
+                String name = ((CreateTableStatement.RawStatement) 
QueryProcessor.parseStatement(tableCql)).columnFamily();
                 assert name.equalsIgnoreCase(tableName) : "Name in 
table_definition doesn't match table property: '" + name + "' != '" + tableName 
+ "'";
             }
             catch (RuntimeException e)

Reply via email to