Merge branch 'cassandra-3.0' into cassandra-3.3
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f70c3538 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f70c3538 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f70c3538 Branch: refs/heads/cassandra-3.3 Commit: f70c353852fa29622d573a0824fcdb90c0742306 Parents: e96fae3 b21df5b Author: Sam Tunnicliffe <s...@beobal.com> Authored: Tue Feb 2 14:34:51 2016 +0000 Committer: Sam Tunnicliffe <s...@beobal.com> Committed: Tue Feb 2 14:38:45 2016 +0000 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ReadCommand.java | 17 ++++++++++++++++- .../cassandra/db/ReadCommandVerbHandler.java | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f70c3538/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 53208c0,dcbce5b..b67fae2 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,5 +1,9 @@@ -3.0.3 +3.3 + * Avoid infinite loop if owned range is smaller than number of + data dirs (CASSANDRA-11034) + * Avoid bootstrap hanging when existing nodes have no data to stream (CASSANDRA-11010) +Merged from 3.0: + * Fix deserialization of legacy read commands (CASSANDRA-11087) * Fix incorrect computation of deletion time in sstable metadata (CASSANDRA-11102) * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026) * Mutations do not block for completion under view lock contention (CASSANDRA-10779) http://git-wip-us.apache.org/repos/asf/cassandra/blob/f70c3538/src/java/org/apache/cassandra/db/ReadCommand.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f70c3538/src/java/org/apache/cassandra/db/ReadCommandVerbHandler.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/ReadCommandVerbHandler.java index 42cd309,9cde8dc..e2a9678 --- a/src/java/org/apache/cassandra/db/ReadCommandVerbHandler.java +++ b/src/java/org/apache/cassandra/db/ReadCommandVerbHandler.java @@@ -50,15 -47,9 +50,15 @@@ public class ReadCommandVerbHandler imp response = command.createResponse(iterator); } - MessageOut<ReadResponse> reply = new MessageOut<>(MessagingService.Verb.REQUEST_RESPONSE, response, serializer()); + if (!command.complete()) + { + Tracing.trace("Discarding partial response to {} (timed out)", message.from); + MessagingService.instance().incrementDroppedMessages(message, System.currentTimeMillis() - message.constructionTime.timestamp); + return; + } Tracing.trace("Enqueuing response to {}", message.from); - MessageOut<ReadResponse> reply = new MessageOut<>(MessagingService.Verb.REQUEST_RESPONSE, response, ReadResponse.serializer); ++ MessageOut<ReadResponse> reply = new MessageOut<>(MessagingService.Verb.REQUEST_RESPONSE, response, serializer()); MessagingService.instance().sendReply(reply, id, message.from); } }