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/fc1cbdeb
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fc1cbdeb
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fc1cbdeb

Branch: refs/heads/trunk
Commit: fc1cbdeb6ee554da91a9be602b37e3628a34a484
Parents: ead27d9 38ff407
Author: Tyler Hobbs <tylerlho...@gmail.com>
Authored: Wed Sep 21 13:53:27 2016 -0500
Committer: Tyler Hobbs <tylerlho...@gmail.com>
Committed: Wed Sep 21 13:53:27 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                                       |  3 +++
 .../service/PendingRangeCalculatorService.java    | 18 +++++++++++-------
 2 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fc1cbdeb/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index abffd80,96f97f4..b873eb1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,66 -1,6 +1,69 @@@
 -2.2.8
 +3.0.10
 + * 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)
++Merged from 2.2:
+  * Decrement pending range calculator jobs counter in finally block
+   (CASSANDRA-12554)
 +Merged from 2.1:
 + * Add system property to set the max number of native transport requests in 
queue (CASSANDRA-11363)
 +
 +
 +3.0.9
 + * Handle composite prefixes with final EOC=0 as in 2.x and refactor 
LegacyLayout.decodeBound (CASSANDRA-12423)
 + * Fix paging for 2.x to 3.x upgrades (CASSANDRA-11195)
 + * select_distinct_with_deletions_test failing on non-vnode environments 
(CASSANDRA-11126)
 + * Stack Overflow returned to queries while upgrading (CASSANDRA-12527)
 + * Fix legacy regex for temporary files from 2.2 (CASSANDRA-12565)
 + * Add option to state current gc_grace_seconds to tools/bin/sstablemetadata 
(CASSANDRA-12208)
 + * Fix file system race condition that may cause LogAwareFileLister to fail 
to classify files (CASSANDRA-11889)
 + * Fix file handle leaks due to simultaneous compaction/repair and
 +   listing snapshots, calculating snapshot sizes, or making schema
 +   changes (CASSANDRA-11594)
 + * Fix nodetool repair exits with 0 for some errors (CASSANDRA-12508)
 + * Do not shut down BatchlogManager twice during drain (CASSANDRA-12504)
 + * Disk failure policy should not be invoked on out of space (CASSANDRA-12385)
 + * Calculate last compacted key on startup (CASSANDRA-6216)
 + * Add schema to snapshot manifest, add USING TIMESTAMP clause to ALTER TABLE 
statements (CASSANDRA-7190)
 + * Fix clean interval not sent to commit log for empty memtable flush 
(CASSANDRA-12436)
 + * Fix potential resource leak in RMIServerSocketFactoryImpl (CASSANDRA-12331)
 + * Backport CASSANDRA-12002 (CASSANDRA-12177)
 + * Make sure compaction stats are updated when compaction is interrupted 
(CASSANDRA-12100)
 + * Fix potential bad messaging service message for paged range reads
 +   within mixed-version 3.x clusters (CASSANDRA-12249)
 + * Change commitlog and sstables to track dirty and clean intervals 
(CASSANDRA-11828)
 + * NullPointerException during compaction on table with static columns 
(CASSANDRA-12336)
 + * Fixed ConcurrentModificationException when reading metrics in 
GraphiteReporter (CASSANDRA-11823)
 + * Fix upgrade of super columns on thrift (CASSANDRA-12335)
 + * Fixed flacky BlacklistingCompactionsTest, switched to fixed size types and 
increased corruption size (CASSANDRA-12359)
 + * Rerun ReplicationAwareTokenAllocatorTest on failure to avoid flakiness 
(CASSANDRA-12277)
 + * Exception when computing read-repair for range tombstones (CASSANDRA-12263)
 + * Lost counter writes in compact table and static columns (CASSANDRA-12219)
 + * AssertionError with MVs on updating a row that isn't indexed due to a null 
value (CASSANDRA-12247)
 + * Disable RR and speculative retry with EACH_QUORUM reads (CASSANDRA-11980)
 + * Add option to override compaction space check (CASSANDRA-12180)
 + * Faster startup by only scanning each directory for temporary files once 
(CASSANDRA-12114)
 + * Respond with v1/v2 protocol header when responding to driver that attempts
 +   to connect with too low of a protocol version (CASSANDRA-11464)
 + * NullPointerExpception when reading/compacting table (CASSANDRA-11988)
 + * Fix problem with undeleteable rows on upgrade to new sstable format 
(CASSANDRA-12144)
 + * Fix paging logic for deleted partitions with static columns 
(CASSANDRA-12107)
 + * Wait until the message is being send to decide which serializer must be 
used (CASSANDRA-11393)
 + * Fix migration of static thrift column names with non-text comparators 
(CASSANDRA-12147)
 + * Fix upgrading sparse tables that are incorrectly marked as dense 
(CASSANDRA-11315)
 + * Fix reverse queries ignoring range tombstones (CASSANDRA-11733)
 + * Avoid potential race when rebuilding CFMetaData (CASSANDRA-12098)
 + * Avoid missing sstables when getting the canonical sstables 
(CASSANDRA-11996)
 + * Always select the live sstables when getting sstables in bounds 
(CASSANDRA-11944)
 + * Fix column ordering of results with static columns for Thrift requests in
 +   a mixed 2.x/3.x cluster, also fix potential non-resolved duplication of
 +   those static columns in query results (CASSANDRA-12123)
 + * Avoid digest mismatch with empty but static rows (CASSANDRA-12090)
 + * Fix EOF exception when altering column type (CASSANDRA-11820)
 + * Fix JsonTransformer output of partition with deletion info 
(CASSANDRA-12418)
 + * Fix NPE in SSTableLoader when specifying partial directory path 
(CASSANDRA-12609)
 +Merged from 2.2:
   * Add local address entry in PropertyFileSnitch (CASSANDRA-11332)
   * cqlshlib tests: increase default execute timeout (CASSANDRA-12481)
   * Forward writes to replacement node when replace_address != 
broadcast_address (CASSANDRA-8523)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fc1cbdeb/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java
----------------------------------------------------------------------
diff --cc 
src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java
index 01122af,806f6a5..352a763
--- a/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java
+++ b/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java
@@@ -36,7 -35,7 +36,7 @@@ public class PendingRangeCalculatorServ
  
      private static Logger logger = 
LoggerFactory.getLogger(PendingRangeCalculatorService.class);
      private final JMXEnabledThreadPoolExecutor executor = new 
JMXEnabledThreadPoolExecutor(1, Integer.MAX_VALUE, TimeUnit.SECONDS,
--            new LinkedBlockingQueue<Runnable>(1), new 
NamedThreadFactory("PendingRangeCalculator"), "internal");
++            new LinkedBlockingQueue<>(1), new 
NamedThreadFactory("PendingRangeCalculator"), "internal");
  
      private AtomicInteger updateJobs = new AtomicInteger(0);
  
@@@ -56,14 -55,17 +56,18 @@@
      {
          public void run()
          {
-             long start = System.currentTimeMillis();
-             List<String> keyspaces = 
Schema.instance.getNonLocalStrategyKeyspaces();
-             for (String keyspaceName : keyspaces)
+             try
+             {
+                 long start = System.currentTimeMillis();
 -                for (String keyspaceName : 
Schema.instance.getNonSystemKeyspaces())
++                List<String> keyspaces = 
Schema.instance.getNonLocalStrategyKeyspaces();
++                for (String keyspaceName : keyspaces)
+                     
calculatePendingRanges(Keyspace.open(keyspaceName).getReplicationStrategy(), 
keyspaceName);
 -                logger.debug("finished calculation for {} keyspaces in {}ms", 
Schema.instance.getNonSystemKeyspaces().size(), System.currentTimeMillis() - 
start);
++                logger.debug("finished calculation for {} keyspaces in {}ms", 
keyspaces.size(), System.currentTimeMillis() - start);
+             }
+             finally
              {
-                 
calculatePendingRanges(Keyspace.open(keyspaceName).getReplicationStrategy(), 
keyspaceName);
+                 PendingRangeCalculatorService.instance.finishUpdate();
              }
-             PendingRangeCalculatorService.instance.finishUpdate();
-             logger.debug("finished calculation for {} keyspaces in {}ms", 
keyspaces.size(), System.currentTimeMillis() - start);
          }
      }
  

Reply via email to