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/72d187c0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/72d187c0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/72d187c0 Branch: refs/heads/trunk Commit: 72d187c0f32f820c86f18330aca916139d5c5c44 Parents: ee85a31 684b4f9 Author: Tyler Hobbs <[email protected]> Authored: Tue Nov 4 09:42:59 2014 -0600 Committer: Tyler Hobbs <[email protected]> Committed: Tue Nov 4 09:42:59 2014 -0600 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../cassandra/db/CollationController.java | 1 + .../cassandra/io/sstable/SSTableReaderTest.java | 28 ++++++++++++++++++++ 3 files changed, 30 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/72d187c0/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 08f5cd0,37b3f83..61d6226 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,37 -1,5 +1,38 @@@ +3.0 + * Mark sstables as repaired after full repair (CASSANDRA-7586) + * Extend Descriptor to include a format value and refactor reader/writer apis (CASSANDRA-7443) + * Integrate JMH for microbenchmarks (CASSANDRA-8151) + * Keep sstable levels when bootstrapping (CASSANDRA-7460) + * Add Sigar library and perform basic OS settings check on startup (CASSANDRA-7838) + * Support for aggregation functions (CASSANDRA-4914) + * Remove cassandra-cli (CASSANDRA-7920) + * Accept dollar quoted strings in CQL (CASSANDRA-7769) + * Make assassinate a first class command (CASSANDRA-7935) + * Support IN clause on any clustering column (CASSANDRA-4762) + * Improve compaction logging (CASSANDRA-7818) + * Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917) + * Do anticompaction in groups (CASSANDRA-6851) + * Support pure user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 7781, 7929, + 7924, 7812, 8063) + * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416) + * Move sstable RandomAccessReader to nio2, which allows using the + FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050) + * Remove CQL2 (CASSANDRA-5918) + * Add Thrift get_multi_slice call (CASSANDRA-6757) + * Optimize fetching multiple cells by name (CASSANDRA-6933) + * Allow compilation in java 8 (CASSANDRA-7028) + * Make incremental repair default (CASSANDRA-7250) + * Enable code coverage thru JaCoCo (CASSANDRA-7226) + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) + * Shorten SSTable path (CASSANDRA-6962) + * Use unsafe mutations for most unit tests (CASSANDRA-6969) + * Fix race condition during calculation of pending ranges (CASSANDRA-7390) + * Fail on very large batch sizes (CASSANDRA-8011) + * improve concurrency of repair (CASSANDRA-6455) + + 2.1.2 + * Fix read-rate tracking of sstables for some queries (CASSANDRA-8239) * Fix default timestamp in QueryOptions (CASSANDRA-8246) * Set socket timeout when reading remote version (CASSANDRA-8188) * Refactor how we track live size (CASSANDRA-7852) http://git-wip-us.apache.org/repos/asf/cassandra/blob/72d187c0/src/java/org/apache/cassandra/db/CollationController.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/72d187c0/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java ---------------------------------------------------------------------- diff --cc test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java index 5e15f80,ef6b14a..4421494 --- a/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java +++ b/test/unit/org/apache/cassandra/io/sstable/SSTableReaderTest.java @@@ -211,9 -188,37 +211,37 @@@ public class SSTableReaderTes } @Test + public void testReadRateTracking() + { + // try to make sure CASSANDRA-8239 never happens again + Keyspace keyspace = Keyspace.open("Keyspace1"); + ColumnFamilyStore store = keyspace.getColumnFamilyStore("Standard1"); + + for (int j = 0; j < 10; j++) + { + ByteBuffer key = ByteBufferUtil.bytes(String.valueOf(j)); + Mutation rm = new Mutation("Keyspace1", key); + rm.add("Standard1", cellname("0"), ByteBufferUtil.EMPTY_BYTE_BUFFER, j); + rm.apply(); + } + store.forceBlockingFlush(); + + SSTableReader sstable = store.getSSTables().iterator().next(); + assertEquals(0, sstable.readMeter.count()); + + DecoratedKey key = sstable.partitioner.decorateKey(ByteBufferUtil.bytes("4")); + store.getColumnFamily(key, Composites.EMPTY, Composites.EMPTY, false, 100, 100); + assertEquals(1, sstable.readMeter.count()); + store.getColumnFamily(key, cellname("0"), cellname("0"), false, 100, 100); + assertEquals(2, sstable.readMeter.count()); + store.getColumnFamily(Util.namesQueryFilter(store, key, cellname("0"))); + assertEquals(3, sstable.readMeter.count()); + } + + @Test public void testGetPositionsForRangesWithKeyCache() throws ExecutionException, InterruptedException { - Keyspace keyspace = Keyspace.open("Keyspace1"); + Keyspace keyspace = Keyspace.open(KEYSPACE1); ColumnFamilyStore store = keyspace.getColumnFamilyStore("Standard2"); CacheService.instance.keyCache.setCapacity(100);
