Merge branch 'cassandra-2.2' into cassandra-3.0

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/14f36fce
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/14f36fce
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/14f36fce

Branch: refs/heads/cassandra-3.0
Commit: 14f36fce33da265db479ce9dc0067e1e073c48d8
Parents: ac279e2 84b9e72
Author: Yuki Morishita <yu...@apache.org>
Authored: Wed Nov 16 15:24:34 2016 -0600
Committer: Yuki Morishita <yu...@apache.org>
Committed: Wed Nov 16 15:24:34 2016 -0600

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../cassandra/repair/AnticompactionTask.java    | 80 ++++++++++++++++++--
 .../apache/cassandra/repair/RepairSession.java  | 13 ----
 .../cassandra/service/ActiveRepairService.java  | 30 ++++++--
 4 files changed, 99 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/14f36fce/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 00f9574,3482052..efc681d
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,42 -1,5 +1,43 @@@
 -2.2.9
 +3.0.11
 + * Prevent reloading of logback.xml from UDF sandbox (CASSANDRA-12535)
 +
 +3.0.10
 + * Disallow offheap_buffers memtable allocation (CASSANDRA-11039)
 + * Fix CommitLogSegmentManagerTest (CASSANDRA-12283)
 + * Pass root cause to CorruptBlockException when uncompression failed 
(CASSANDRA-12889)
 + * Fix partition count log during compaction (CASSANDRA-12184)
 + * Batch with multiple conditional updates for the same partition causes 
AssertionError (CASSANDRA-12867)
 + * Make AbstractReplicationStrategy extendable from outside its package 
(CASSANDRA-12788)
 + * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
 + * Don't tell users to turn off consistent rangemovements during rebuild. 
(CASSANDRA-12296)
 + * Avoid deadlock due to materialized view lock contention (CASSANDRA-12689)
 + * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
 + * Include SSTable filename in compacting large row message (CASSANDRA-12384)
 + * Fix potential socket leak (CASSANDRA-12329, CASSANDRA-12330)
 + * Fix ViewTest.testCompaction (CASSANDRA-12789)
 + * Improve avg aggregate functions (CASSANDRA-12417)
 + * Preserve quoted reserved keyword column names in MV creation 
(CASSANDRA-11803)
 + * nodetool stopdaemon errors out (CASSANDRA-12646)
 + * Split materialized view mutations on build to prevent OOM (CASSANDRA-12268)
 + * mx4j does not work in 3.0.8 (CASSANDRA-12274)
 + * Abort cqlsh copy-from in case of no answer after prolonged period of time 
(CASSANDRA-12740)
 + * Avoid sstable corrupt exception due to dropped static column 
(CASSANDRA-12582)
 + * Make stress use client mode to avoid checking commit log size on startup 
(CASSANDRA-12478)
 + * Fix exceptions with new vnode allocation (CASSANDRA-12715)
 + * Unify drain and shutdown processes (CASSANDRA-12509)
 + * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706)
 + * Fix failure in LogTransactionTest (CASSANDRA-12632)
 + * Fix potentially incomplete non-frozen UDT values when querying with the
 +   full primary key specified (CASSANDRA-12605)
 + * Skip writing MV mutations to commitlog on mutation.applyUnsafe() 
(CASSANDRA-11670)
 + * Establish consistent distinction between non-existing partition and NULL 
value for LWTs on static columns (CASSANDRA-12060)
 + * Extend ColumnIdentifier.internedInstances key to include the type that 
generated the byte buffer (CASSANDRA-12516)
 + * Backport CASSANDRA-10756 (race condition in NativeTransportService 
shutdown) (CASSANDRA-12472)
 + * If CF has no clustering columns, any row cache is full partition cache 
(CASSANDRA-12499)
 + * Correct log message for statistics of offheap memtable flush 
(CASSANDRA-12776)
 + * Explicitly set locale for string validation 
(CASSANDRA-12541,CASSANDRA-12542,CASSANDRA-12543,CASSANDRA-12545)
 +Merged from 2.2:
+  * Fail repair if participant dies during sync or anticompaction 
(CASSANDRA-12901)
   * cqlsh COPY: unprotected pk values before converting them if not using 
prepared statements (CASSANDRA-12863)
   * Fix Util.spinAssertEquals (CASSANDRA-12283)
   * Fix potential NPE for compactionstats (CASSANDRA-12462)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/14f36fce/src/java/org/apache/cassandra/repair/RepairSession.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/repair/RepairSession.java
index a52b352,70bfaa6..5fe306d
--- a/src/java/org/apache/cassandra/repair/RepairSession.java
+++ b/src/java/org/apache/cassandra/repair/RepairSession.java
@@@ -88,13 -87,10 +87,10 @@@ public class RepairSession extends Abst
      private final String[] cfnames;
      public final RepairParallelism parallelismDegree;
      /** Range to repair */
 -    public final Range<Token> range;
 +    public final Collection<Range<Token>> ranges;
      public final Set<InetAddress> endpoints;
 -    private final long repairedAt;
 +    public final long repairedAt;
  
-     // number of validations left to be performed
-     private final AtomicInteger validationRemaining;
- 
      private final AtomicBoolean isFailed = new AtomicBoolean(false);
  
      // Each validation task waits response from replica in validating 
ConcurrentMap (keyed by CF name and endpoint address)
@@@ -135,10 -131,9 +131,9 @@@
          this.parallelismDegree = parallelismDegree;
          this.keyspace = keyspace;
          this.cfnames = cfnames;
 -        this.range = range;
 +        this.ranges = ranges;
          this.endpoints = endpoints;
          this.repairedAt = repairedAt;
-         this.validationRemaining = new AtomicInteger(cfnames.length);
      }
  
      public UUID getId()
@@@ -180,15 -175,7 +175,7 @@@
          String message = String.format("Received merkle tree for %s from %s", 
desc.columnFamily, endpoint);
          logger.info("[repair #{}] {}", getId(), message);
          Tracing.traceRepair(message);
 -        task.treeReceived(tree);
 +        task.treesReceived(trees);
- 
-         // Unregister from FailureDetector once we've completed synchronizing 
Merkle trees.
-         // After this point, we rely on tcp_keepalive for individual sockets 
to notify us when a connection is down.
-         // See CASSANDRA-3569
-         if (validationRemaining.decrementAndGet() == 0)
-         {
-             
FailureDetector.instance.unregisterFailureDetectionEventListener(this);
-         }
      }
  
      /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/14f36fce/src/java/org/apache/cassandra/service/ActiveRepairService.java
----------------------------------------------------------------------

Reply via email to