You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2014/04/22 21:43:29 UTC
[1/4] git commit: fix cassandra stress errors on reads with native
protocol
Repository: cassandra
Updated Branches:
refs/heads/trunk 5bbc54fe7 -> 99fbafee3
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/trunk
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));
}
[4/4] git commit: Merge branch 'cassandra-2.1' into trunk
Posted by al...@apache.org.
Merge branch 'cassandra-2.1' into trunk
Conflicts:
tools/stress/src/org/apache/cassandra/stress/operations/CqlIndexedRangeSlicer.java
tools/stress/src/org/apache/cassandra/stress/operations/CqlReader.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/99fbafee
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/99fbafee
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/99fbafee
Branch: refs/heads/trunk
Commit: 99fbafee3e571ed7e73de8ed3fb9d9c27bcdb754
Parents: 5bbc54f 2c7622a
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Tue Apr 22 22:43:16 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Tue Apr 22 22:43:16 2014 +0300
----------------------------------------------------------------------
src/java/org/apache/cassandra/service/StorageProxy.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
[2/4] git commit: Post-CASSANDRA-7058 fix
Posted by al...@apache.org.
Post-CASSANDRA-7058 fix
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b9324e1b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b9324e1b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b9324e1b
Branch: refs/heads/trunk
Commit: b9324e1b94f67f3d89096fcef4d157f9505364e9
Parents: 3a73e39
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Tue Apr 22 22:13:57 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Tue Apr 22 22:13:57 2014 +0300
----------------------------------------------------------------------
src/java/org/apache/cassandra/service/StorageProxy.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9324e1b/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index fc6ee3a..8196352 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -635,7 +635,7 @@ public class StorageProxy implements StorageProxyMBean
{
MessageOut<RowMutation> message = rm.createMessage();
for (InetAddress target : endpoints)
- MessagingService.instance().sendRR(message, target, handler);
+ MessagingService.instance().sendRR(message, target, handler, false);
}
}
@@ -814,7 +814,7 @@ public class StorageProxy implements StorageProxyMBean
// (1.1 knows how to forward old-style String message IDs; updated to int in 2.0)
if (localDataCenter.equals(dc) || MessagingService.instance().getVersion(destination) < MessagingService.VERSION_20)
{
- MessagingService.instance().sendRR(message, destination, responseHandler);
+ MessagingService.instance().sendRR(message, destination, responseHandler, true);
}
else
{
@@ -937,7 +937,7 @@ public class StorageProxy implements StorageProxyMBean
}
message = message.withParameter(RowMutation.FORWARD_TO, out.getData());
// send the combined message + forward headers
- int id = MessagingService.instance().sendRR(message, target, handler);
+ int id = MessagingService.instance().sendRR(message, target, handler, true);
logger.trace("Sending message to {}@{}", id, target);
}
catch (IOException e)
@@ -1000,7 +1000,7 @@ public class StorageProxy implements StorageProxyMBean
AbstractWriteResponseHandler responseHandler = new WriteResponseHandler(endpoint, WriteType.COUNTER);
Tracing.trace("Enqueuing counter update to {}", endpoint);
- MessagingService.instance().sendRR(cm.makeMutationMessage(), endpoint, responseHandler);
+ MessagingService.instance().sendRR(cm.makeMutationMessage(), endpoint, responseHandler, false);
return responseHandler;
}
}
[3/4] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Posted by al...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1
Conflicts:
src/java/org/apache/cassandra/service/StorageProxy.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2c7622a6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2c7622a6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2c7622a6
Branch: refs/heads/trunk
Commit: 2c7622a65ce747819931bd52bc576a4cd055ba3d
Parents: a16adba b9324e1
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Tue Apr 22 22:16:27 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Tue Apr 22 22:16:27 2014 +0300
----------------------------------------------------------------------
src/java/org/apache/cassandra/service/StorageProxy.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/2c7622a6/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageProxy.java
index 33f6ff0,8196352..d8c5813
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@@ -642,15 -620,22 +642,15 @@@ public class StorageProxy implements St
Keyspace.open(Keyspace.SYSTEM_KS),
null,
WriteType.SIMPLE);
- RowMutation rm = new RowMutation(Keyspace.SYSTEM_KS, UUIDType.instance.decompose(uuid), cf);
- updateBatchlog(rm, endpoints, handler);
- }
-
- private static void updateBatchlog(RowMutation rm, Collection<InetAddress> endpoints, AbstractWriteResponseHandler handler)
- {
- if (endpoints.contains(FBUtilities.getBroadcastAddress()))
- {
- assert endpoints.size() == 1;
- insertLocal(rm, handler);
- }
- else
+ Mutation mutation = new Mutation(Keyspace.SYSTEM_KS, UUIDType.instance.decompose(uuid));
+ mutation.delete(SystemKeyspace.BATCHLOG_CF, FBUtilities.timestampMicros());
+ MessageOut<Mutation> message = mutation.createMessage();
+ for (InetAddress target : endpoints)
{
- MessageOut<RowMutation> message = rm.createMessage();
- for (InetAddress target : endpoints)
+ if (target.equals(FBUtilities.getBroadcastAddress()) && OPTIMIZE_LOCAL_REQUESTS)
+ insertLocal(message.payload, handler);
+ else
- MessagingService.instance().sendRR(message, target, handler);
+ MessagingService.instance().sendRR(message, target, handler, false);
}
}
@@@ -823,9 -812,9 +823,9 @@@
String dc = DatabaseDescriptor.getEndpointSnitch().getDatacenter(destination);
// direct writes to local DC or old Cassandra versions
// (1.1 knows how to forward old-style String message IDs; updated to int in 2.0)
- if (localDataCenter.equals(dc) || MessagingService.instance().getVersion(destination) < MessagingService.VERSION_20)
+ if (localDataCenter.equals(dc))
{
- MessagingService.instance().sendRR(message, destination, responseHandler);
+ MessagingService.instance().sendRR(message, destination, responseHandler, true);
}
else
{
@@@ -946,9 -935,9 +946,9 @@@
out.writeInt(id);
logger.trace("Adding FWD message to {}@{}", id, destination);
}
- message = message.withParameter(RowMutation.FORWARD_TO, out.getData());
+ message = message.withParameter(Mutation.FORWARD_TO, out.getData());
// send the combined message + forward headers
- int id = MessagingService.instance().sendRR(message, target, handler);
+ int id = MessagingService.instance().sendRR(message, target, handler, true);
logger.trace("Sending message to {}@{}", id, target);
}
catch (IOException e)