You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ja...@apache.org on 2014/04/22 19:10:39 UTC
git commit: fix cassandra stress errors on reads with native protocol
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 5045d3ea8 -> a16adba9b
fix cassandra stress errors on reads with native protocol
patch by belliottsmith; reviewed by jasobrown for CASSANDRA-7033
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a16adba9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a16adba9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a16adba9
Branch: refs/heads/cassandra-2.1
Commit: a16adba9b89661f95d167d056d128ed388c4e7a7
Parents: 5045d3e
Author: Jason Brown <ja...@apple.com>
Authored: Tue Apr 22 10:04:11 2014 -0700
Committer: Jason Brown <ja...@apple.com>
Committed: Tue Apr 22 10:09:58 2014 -0700
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../operations/CqlIndexedRangeSlicer.java | 9 ++-----
.../stress/operations/CqlOperation.java | 14 ++++-------
.../cassandra/stress/operations/CqlReader.java | 26 +++++++++++---------
4 files changed, 22 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a16adba9/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 2f70c63..844df95 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -48,6 +48,7 @@
* Clean up IndexInfo on keyspace/table drops (CASSANDRA-6924)
* Only snapshot relative SSTables when sequential repair (CASSANDRA-7024)
* Require nodetool rebuild_index to specify index names (CASSANDRA-7038)
+ * fix cassandra stress errors on reads with native protocol (CASANDRA-7033)
Merged from 2.0:
* Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
* Log a warning for large batches (CASSANDRA-6487)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a16adba9/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
index c971844..046381e 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
@@ -47,13 +47,8 @@ public class CqlIndexedRangeSlicer extends CqlOperation<byte[][]>
@Override
protected String buildQuery()
{
- StringBuilder query = new StringBuilder("SELECT ");
-
- if (state.isCql2())
- query.append(state.settings.columns.maxColumnsPerKey).append(" ''..''");
- else
- query.append("*");
-
+ StringBuilder query = new StringBuilder("SELECT");
+ query.append(wrapInQuotesIfRequired("key"));
query.append(" FROM ");
query.append(wrapInQuotesIfRequired(state.type.table));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a16adba9/tools/stress/src/org/apache/cassandra/stress/operations/CqlOperation.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlOperation.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlOperation.java
index 5b27146..1c59e2d 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlOperation.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlOperation.java
@@ -145,7 +145,7 @@ public abstract class CqlOperation<V> extends Operation
@Override
public boolean validate(Integer result)
{
- return true;
+ return result > 0;
}
@Override
@@ -195,12 +195,8 @@ public abstract class CqlOperation<V> extends Operation
if (result.length != expect.size())
return false;
for (int i = 0 ; i < result.length ; i++)
- {
- List<ByteBuffer> resultRow = Arrays.asList(result[i]);
- resultRow = resultRow.subList(1, resultRow.size());
- if (expect.get(i) != null && !expect.get(i).equals(resultRow))
+ if (expect.get(i) != null && !expect.get(i).equals(Arrays.asList(result[i])))
return false;
- }
return true;
}
}
@@ -510,9 +506,9 @@ public abstract class CqlOperation<V> extends Operation
for (int i = 0 ; i < r.length ; i++)
{
Row row = rows.get(i);
- r[i] = new ByteBuffer[row.getColumnDefinitions().size() - 1];
- for (int j = 1 ; j < row.getColumnDefinitions().size() ; j++)
- r[i][j - 1] = row.getBytes(j);
+ r[i] = new ByteBuffer[row.getColumnDefinitions().size()];
+ for (int j = 0 ; j < row.getColumnDefinitions().size() ; j++)
+ r[i][j] = row.getBytes(j);
}
return r;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a16adba9/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
----------------------------------------------------------------------
diff --git a/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java b/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
index 4b8d69e..fb07edc 100644
--- a/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
+++ b/tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
@@ -22,11 +22,14 @@ package org.apache.cassandra.stress.operations;
import java.nio.ByteBuffer;
+import java.nio.charset.CharacterCodingException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import org.apache.cassandra.utils.ByteBufferUtil;
+
public class CqlReader extends CqlOperation<ByteBuffer[][]>
{
@@ -49,11 +52,18 @@ public class CqlReader extends CqlOperation<ByteBuffer[][]>
}
else
{
- for (int i = 0; i < state.settings.columns.names.size() ; i++)
+ try
+ {
+ for (int i = 0; i < state.settings.columns.names.size() ; i++)
+ {
+ if (i > 0)
+ query.append(",");
+ query.append(wrapInQuotesIfRequired(ByteBufferUtil.string(state.settings.columns.names.get(i))));
+ }
+ }
+ catch (CharacterCodingException e)
{
- if (i > 0)
- query.append(",");
- query.append('?');
+ throw new IllegalStateException(e);
}
}
@@ -68,14 +78,6 @@ public class CqlReader extends CqlOperation<ByteBuffer[][]>
@Override
protected List<Object> getQueryParameters(byte[] key)
{
- if (state.settings.columns.names != null)
- {
- final List<Object> queryParams = new ArrayList<>();
- for (ByteBuffer name : state.settings.columns.names)
- queryParams.add(name);
- queryParams.add(ByteBuffer.wrap(key));
- return queryParams;
- }
return Collections.<Object>singletonList(ByteBuffer.wrap(key));
}