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();
          }
      }