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/09 01:29:39 UTC
[1/4] git commit: Non-droppable verbs shouldn't be dropped from OTC
Repository: cassandra
Updated Branches:
refs/heads/trunk f1d5bf136 -> bd961f3fa
Non-droppable verbs shouldn't be dropped from OTC
patch by jasobrown; reviewed by Richard Low for CASSANDRA-6980
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d41c0757
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d41c0757
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d41c0757
Branch: refs/heads/trunk
Commit: d41c075721428b4beece0d8b22086a8017664280
Parents: 97a6e36
Author: Jason Brown <ja...@apple.com>
Authored: Tue Apr 8 16:08:19 2014 -0700
Committer: Jason Brown <ja...@apple.com>
Committed: Tue Apr 8 16:08:19 2014 -0700
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/net/OutboundTcpConnection.java | 12 ++++++++++--
2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d41c0757/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index dc8e6e0..b3e5310 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,7 @@
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
* Schedule schema pulls on change (CASSANDRA-6971)
+ * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
1.2.16
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d41c0757/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
index 9989221..bbd3924 100644
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@ -142,7 +142,7 @@ public class OutboundTcpConnection extends Thread
break;
continue;
}
- if (qm.timestamp < System.currentTimeMillis() - m.getTimeout())
+ if (qm.isTimedOut(m.getTimeout()))
dropped.incrementAndGet();
else if (socket != null || connect())
writeConnected(qm);
@@ -474,17 +474,25 @@ public class OutboundTcpConnection extends Thread
final MessageOut<?> message;
final String id;
final long timestamp;
+ final boolean droppable;
QueuedMessage(MessageOut<?> message, String id)
{
this.message = message;
this.id = id;
this.timestamp = System.currentTimeMillis();
+ this.droppable = MessagingService.DROPPABLE_VERBS.contains(message.verb);
+ }
+
+ /** don't drop a non-droppable message just because it's timestamp is expired */
+ boolean isTimedOut(long maxTime)
+ {
+ return droppable && timestamp < System.currentTimeMillis() - maxTime;
}
boolean shouldRetry()
{
- return !MessagingService.DROPPABLE_VERBS.contains(message.verb);
+ return !droppable;
}
}
[2/4] git commit: Merge remote-tracking branch 'apache/cassandra-1.2'
into cassandra-2.0
Posted by ja...@apache.org.
Merge remote-tracking branch 'apache/cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/47ace44e
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/47ace44e
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/47ace44e
Branch: refs/heads/trunk
Commit: 47ace44e16c6a4ddfb087cfc9eb4e95fe320933d
Parents: e99868b d41c075
Author: Jason Brown <ja...@apple.com>
Authored: Tue Apr 8 16:11:00 2014 -0700
Committer: Jason Brown <ja...@apple.com>
Committed: Tue Apr 8 16:11:00 2014 -0700
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/net/OutboundTcpConnection.java | 12 ++++++++++--
2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/47ace44e/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 24655f9,b3e5310..e71f1af
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -57,50 -3,17 +57,51 @@@ Merged from 1.2
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
* Schedule schema pulls on change (CASSANDRA-6971)
+ * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
-1.2.16
- * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
- * add extra SSL cipher suites (CASSANDRA-6613)
- * fix nodetool getsstables for blob PK (CASSANDRA-6803)
+2.0.6
+ * Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797)
+ * Pool CqlRecordWriter clients by inetaddress rather than Range
+ (CASSANDRA-6665)
+ * Fix compaction_history timestamps (CASSANDRA-6784)
+ * Compare scores of full replica ordering in DES (CASSANDRA-6883)
+ * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
+ * Allow repairing between specific replicas (CASSANDRA-6440)
+ * Allow per-dc enabling of hints (CASSANDRA-6157)
+ * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201)
+ * Fix EstimatedHistogram races (CASSANDRA-6682)
+ * Failure detector correctly converts initial value to nanos (CASSANDRA-6658)
+ * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445)
+ * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
+ * Improve nodetool cfhistograms formatting (CASSANDRA-6360)
+ * Expose bulk loading progress over JMX (CASSANDRA-4757)
+ * Correctly handle null with IF conditions and TTL (CASSANDRA-6623)
+ * Account for range/row tombstones in tombstone drop
+ time histogram (CASSANDRA-6522)
+ * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652)
+ * Make commitlog failure handling configurable (CASSANDRA-6364)
+ * Avoid overlaps in LCS (CASSANDRA-6688)
+ * Improve support for paginating over composites (CASSANDRA-4851)
+ * Fix count(*) queries in a mixed cluster (CASSANDRA-6707)
+ * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566)
+ * Fix replaying pre-2.0 commit logs (CASSANDRA-6714)
+ * Add static columns to CQL3 (CASSANDRA-6561)
+ * Optimize single partition batch statements (CASSANDRA-6737)
+ * Disallow post-query re-ordering when paging (CASSANDRA-6722)
+ * Fix potential paging bug with deleted columns (CASSANDRA-6748)
+ * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636)
+ * Fix truncating compression metadata (CASSANDRA-6791)
+ * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782)
+ * Fix IllegalArgumentException when updating from 1.2 with SuperColumns
+ (CASSANDRA-6733)
+ * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
+ * Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
+ * Fix HSHA server introducing corrupt data (CASSANDRA-6285)
+ * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
+Merged from 1.2:
* Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
* Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
- * Don't attempt cross-dc forwarding in mixed-version cluster with 1.1
- (CASSANDRA-6732)
* Fix broken streams when replacing with same IP (CASSANDRA-6622)
* Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
* Fix partition and range deletes not triggering flush (CASSANDRA-6655)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/47ace44e/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/net/OutboundTcpConnection.java
index f332abe,bbd3924..8b8872b
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@@ -440,10 -472,11 +440,11 @@@ public class OutboundTcpConnection exte
private static class QueuedMessage
{
final MessageOut<?> message;
- final String id;
+ final int id;
final long timestamp;
+ final boolean droppable;
- QueuedMessage(MessageOut<?> message, String id)
+ QueuedMessage(MessageOut<?> message, int id)
{
this.message = message;
this.id = id;
[4/4] git commit: Merge branch 'cassandra-2.1' into trunk
Posted by ja...@apache.org.
Merge branch 'cassandra-2.1' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bd961f3f
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bd961f3f
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bd961f3f
Branch: refs/heads/trunk
Commit: bd961f3fa179f96bdef539587cc61ae66a54fea2
Parents: f1d5bf1 66b3b2b
Author: Jason Brown <ja...@apple.com>
Authored: Tue Apr 8 16:29:26 2014 -0700
Committer: Jason Brown <ja...@apple.com>
Committed: Tue Apr 8 16:29:26 2014 -0700
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/net/OutboundTcpConnection.java | 12 ++++++++++--
2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd961f3f/CHANGES.txt
----------------------------------------------------------------------
[3/4] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Posted by ja...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1
Conflicts:
src/java/org/apache/cassandra/net/OutboundTcpConnection.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/66b3b2bf
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/66b3b2bf
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/66b3b2bf
Branch: refs/heads/trunk
Commit: 66b3b2bf08577e7a6256318f1fc42e91b0c5d232
Parents: 76db70e 47ace44
Author: Jason Brown <ja...@apple.com>
Authored: Tue Apr 8 16:28:33 2014 -0700
Committer: Jason Brown <ja...@apple.com>
Committed: Tue Apr 8 16:28:33 2014 -0700
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/net/OutboundTcpConnection.java | 12 ++++++++++--
2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/66b3b2bf/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/66b3b2bf/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/net/OutboundTcpConnection.java
index 2bfa491,8b8872b..1781a5d
--- a/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
@@@ -142,39 -132,26 +142,39 @@@ public class OutboundTcpConnection exte
throw new AssertionError(e);
}
- BlockingQueue<QueuedMessage> tmp = backlog;
- backlog = active;
- active = tmp;
}
+ currentMsgBufferCount = drainedMessages.size();
- MessageOut<?> m = qm.message;
- if (m == CLOSE_SENTINEL)
+ int count = drainedMessages.size();
+ for (QueuedMessage qm : drainedMessages)
{
- disconnect();
- if (isStopped)
- break;
- continue;
+ try
+ {
+ MessageOut<?> m = qm.message;
+ if (m == CLOSE_SENTINEL)
+ {
+ disconnect();
+ if (isStopped)
+ break outer;
+ continue;
+ }
- if (qm.timestamp < System.currentTimeMillis() - m.getTimeout())
++ if (qm.isTimedOut(m.getTimeout()))
+ dropped.incrementAndGet();
+ else if (socket != null || connect())
+ writeConnected(qm, count == 1 && backlog.size() == 0);
+ else
+ // clear out the queue, else gossip messages back up.
+ backlog.clear();
+ }
+ catch (Exception e)
+ {
+ // really shouldn't get here, as exception handling in writeConnected() is reasonably robust
+ // but we want to catch anything bad we don't drop the messages in the current batch
+ logger.error("error processing a message intended for {}", poolReference.endPoint(), e);
+ }
+ currentMsgBufferCount = --count;
}
- if (qm.isTimedOut(m.getTimeout()))
- dropped.incrementAndGet();
- else if (socket != null || connect())
- writeConnected(qm);
- else
- // clear out the queue, else gossip messages back up.
- active.clear();
+ drainedMessages.clear();
}
}