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 ----------------------------------------------------------------------