Merge branch 'cameron/12765-3.0' into cameron/12765-3.X

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

Branch: refs/heads/trunk
Commit: 575927b1e6ea9a718d62b7b6b72628753b08e59a
Parents: f51ee61 7976d65
Author: Marcus Eriksson <marc...@apache.org>
Authored: Fri Oct 21 09:03:31 2016 +0200
Committer: Marcus Eriksson <marc...@apache.org>
Committed: Fri Oct 21 09:03:31 2016 +0200

----------------------------------------------------------------------
 CHANGES.txt                                     |  2 +
 .../db/SinglePartitionReadCommand.java          |  3 +-
 .../io/sstable/format/SSTableReader.java        |  2 +-
 .../db/SinglePartitionReadCommandCQLTest.java   | 41 ++++++++++++++++++++
 4 files changed, 46 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/575927b1/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 13653b7,f14eb22..105791b
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -136,52 -33,34 +136,54 @@@ Merged from 2.2
   * Fix exceptions when enabling gossip on nodes that haven't joined the ring 
(CASSANDRA-12253)
   * Fix authentication problem when invoking cqlsh copy from a SOURCE command 
(CASSANDRA-12642)
   * Decrement pending range calculator jobs counter in finally block
 -  (CASSANDRA-12554)
 + * cqlshlib tests: increase default execute timeout (CASSANDRA-12481)
 + * Forward writes to replacement node when replace_address != 
broadcast_address (CASSANDRA-8523)
 + * Fail repair on non-existing table (CASSANDRA-12279)
 + * Enable repair -pr and -local together (fix regression of CASSANDRA-7450) 
(CASSANDRA-12522)
+ Merged from 2.1:
 - * Add system property to set the max number of native transport requests in 
queue (CASSANDRA-11363)
+  * Don't skip sstables based on maxLocalDeletionTime (CASSANDRA-12765)
  
  
 -3.0.9
 - * Handle composite prefixes with final EOC=0 as in 2.x and refactor 
LegacyLayout.decodeBound (CASSANDRA-12423)
 +3.8, 3.9
 + * Fix value skipping with counter columns (CASSANDRA-11726)
 + * Fix nodetool tablestats miss SSTable count (CASSANDRA-12205)
 + * Fixed flacky SSTablesIteratedTest (CASSANDRA-12282)
 + * Fixed flacky SSTableRewriterTest: check file counts before calling 
validateCFS (CASSANDRA-12348)
 + * cqlsh: Fix handling of $$-escaped strings (CASSANDRA-12189)
 + * Fix SSL JMX requiring truststore containing server cert (CASSANDRA-12109)
 + * RTE from new CDC column breaks in flight queries (CASSANDRA-12236)
 + * Fix hdr logging for single operation workloads (CASSANDRA-12145)
 + * Fix SASI PREFIX search in CONTAINS mode with partial terms 
(CASSANDRA-12073)
 + * Increase size of flushExecutor thread pool (CASSANDRA-12071)
 + * Partial revert of CASSANDRA-11971, cannot recycle buffer in 
SP.sendMessagesToNonlocalDC (CASSANDRA-11950)
 + * Upgrade netty to 4.0.39 (CASSANDRA-12032, CASSANDRA-12034)
 + * Improve details in compaction log message (CASSANDRA-12080)
 + * Allow unset values in CQLSSTableWriter (CASSANDRA-11911)
 + * Chunk cache to request compressor-compatible buffers if pool space is 
exhausted (CASSANDRA-11993)
 + * Remove DatabaseDescriptor dependencies from SequentialWriter 
(CASSANDRA-11579)
 + * Move skip_stop_words filter before stemming (CASSANDRA-12078)
 + * Support seek() in EncryptedFileSegmentInputStream (CASSANDRA-11957)
 + * SSTable tools mishandling LocalPartitioner (CASSANDRA-12002)
 + * When SEPWorker assigned work, set thread name to match pool 
(CASSANDRA-11966)
 + * Add cross-DC latency metrics (CASSANDRA-11596)
 + * Allow terms in selection clause (CASSANDRA-10783)
 + * Add bind variables to trace (CASSANDRA-11719)
 + * Switch counter shards' clock to timestamps (CASSANDRA-9811)
 + * Introduce HdrHistogram and response/service/wait separation to stress tool 
(CASSANDRA-11853)
 + * entry-weighers in QueryProcessor should respect partitionKeyBindIndexes 
field (CASSANDRA-11718)
 + * Support older ant versions (CASSANDRA-11807)
 + * Estimate compressed on disk size when deciding if sstable size limit 
reached (CASSANDRA-11623)
 + * cassandra-stress profiles should support case sensitive schemas 
(CASSANDRA-11546)
 + * Remove DatabaseDescriptor dependency from FileUtils (CASSANDRA-11578)
 + * Faster streaming (CASSANDRA-9766)
 + * Add prepared query parameter to trace for "Execute CQL3 prepared query" 
session (CASSANDRA-11425)
 + * Add repaired percentage metric (CASSANDRA-11503)
 + * Add Change-Data-Capture (CASSANDRA-8844)
 +Merged from 3.0:
   * 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)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/575927b1/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
index 52df6a4,5f8df1b..02f6be8
--- a/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
+++ b/src/java/org/apache/cassandra/db/SinglePartitionReadCommand.java
@@@ -583,11 -569,12 +583,12 @@@ public class SinglePartitionReadComman
                  if (!shouldInclude(sstable))
                  {
                      nonIntersectingSSTables++;
 -                    // sstable contains no tombstone if maxLocalDeletionTime 
== Integer.MAX_VALUE, so we can safely skip those entirely
                      if (sstable.hasTombstones())
 -                    {
 -                        if (skippedSSTables == null)
 -                            skippedSSTables = new ArrayList<>();
 -                        skippedSSTables.add(sstable);
 +                    { // if sstable has tombstones we need to check after one 
pass if it can be safely skipped
 +                        if (skippedSSTablesWithTombstones == null)
 +                            skippedSSTablesWithTombstones = new ArrayList<>();
 +                        skippedSSTablesWithTombstones.add(sstable);
++
                      }
                      continue;
                  }
@@@ -776,9 -736,9 +777,9 @@@
  
                  // We need to get the partition deletion and include it if 
it's live. In any case though, we're done with that sstable.
                  sstable.incrementReadCount();
 -                try (UnfilteredRowIterator iter = 
sstable.iterator(partitionKey(), columnFilter(), filter.isReversed(), 
isForThrift()))
 +                try (UnfilteredRowIterator iter = 
StorageHook.instance.makeRowIterator(cfs, sstable, partitionKey(), Slices.ALL, 
columnFilter(), filter.isReversed(), isForThrift()))
                  {
-                     if (iter.partitionLevelDeletion().isLive())
+                     if (!iter.partitionLevelDeletion().isLive())
                      {
                          sstablesIterated++;
                          result = 
add(UnfilteredRowIterators.noRowsIterator(iter.metadata(), iter.partitionKey(), 
Rows.EMPTY_STATIC_ROW, iter.partitionLevelDeletion(), filter.isReversed()), 
result, filter, sstable.isRepaired());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/575927b1/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
----------------------------------------------------------------------

Reply via email to