You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by bd...@apache.org on 2018/11/06 23:53:59 UTC
[2/3] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.11
Merge branch 'cassandra-3.0' into cassandra-3.11
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4b2692fc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4b2692fc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4b2692fc
Branch: refs/heads/trunk
Commit: 4b2692fc978764d93209db27c13b0fbdb5896034
Parents: a6a9dce e04efab
Author: Blake Eggleston <bd...@gmail.com>
Authored: Tue Nov 6 11:59:49 2018 -0800
Committer: Blake Eggleston <bd...@gmail.com>
Committed: Tue Nov 6 15:48:06 2018 -0800
----------------------------------------------------------------------
.../io/sstable/format/big/BigFormat.java | 2 +-
.../io/sstable/metadata/MetadataCollector.java | 18 ++++---
.../org/apache/cassandra/db/KeyspaceTest.java | 34 --------------
.../apache/cassandra/db/filter/SliceTest.java | 42 -----------------
.../io/sstable/SSTableMetadataTest.java | 49 --------------------
5 files changed, 12 insertions(+), 133 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b2692fc/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java
index ea0214b,d4549dd..b62cb11
--- a/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java
@@@ -110,7 -111,7 +110,7 @@@ public class BigFormat implements SSTab
// we always incremented the major version.
static class BigVersion extends Version
{
-- public static final String current_version = "mc";
++ public static final String current_version = "md";
public static final String earliest_supported_version = "jb";
// jb (2.0.1): switch from crc32 to adler32 for compression checksums
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b2692fc/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java
index a618c96,437d80f..0ac5187
--- a/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java
+++ b/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java
@@@ -273,8 -272,11 +274,11 @@@ public class MetadataCollector implemen
public Map<MetadataType, MetadataComponent> finalizeMetadata(String partitioner, double bloomFilterFPChance, long repairedAt, SerializationHeader header)
{
- Preconditions.checkState(comparator.compare(maxClustering, minClustering) >= 0);
+ Preconditions.checkState((minClustering == null && maxClustering == null)
+ || comparator.compare(maxClustering, minClustering) >= 0);
+ ByteBuffer[] minValues = minClustering != null ? minClustering.getRawValues() : EMPTY_CLUSTERING;
+ ByteBuffer[] maxValues = maxClustering != null ? maxClustering.getRawValues() : EMPTY_CLUSTERING;
- Map<MetadataType, MetadataComponent> components = Maps.newHashMap();
+ Map<MetadataType, MetadataComponent> components = new EnumMap<>(MetadataType.class);
components.put(MetadataType.VALIDATION, new ValidationMetadata(partitioner, bloomFilterFPChance));
components.put(MetadataType.STATS, new StatsMetadata(estimatedPartitionSize,
estimatedCellPerPartitionCount,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b2692fc/test/unit/org/apache/cassandra/db/KeyspaceTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/KeyspaceTest.java
index f2a9984,d864fa3..3c3b04b
--- a/test/unit/org/apache/cassandra/db/KeyspaceTest.java
+++ b/test/unit/org/apache/cassandra/db/KeyspaceTest.java
@@@ -452,40 -433,40 +452,6 @@@ public class KeyspaceTest extends CQLTe
assertRowsInResult(cfs, command, expectedValues);
}
-- @Test
-- public void testLimitSSTablesComposites() throws Throwable
-- {
-- // creates 10 sstables, composite columns like this:
-- // ---------------------
-- // k |a0:0|a1:1|..|a9:9
-- // ---------------------
-- // ---------------------
-- // k |a0:10|a1:11|..|a9:19
-- // ---------------------
-- // ...
-- // ---------------------
-- // k |a0:90|a1:91|..|a9:99
-- // ---------------------
-- // then we slice out col1 = a5 and col2 > 85 -> which should let us just check 2 sstables and get 2 columns
- createTable("CREATE TABLE %s (a text, b text, c int, d int, PRIMARY KEY (a, b, c))");
- final ColumnFamilyStore cfs = getCurrentColumnFamilyStore();
- String tableName = createTable("CREATE TABLE %s (a text, b text, c int, d int, PRIMARY KEY (a, b, c))");
- final ColumnFamilyStore cfs = Keyspace.open(KEYSPACE).getColumnFamilyStore(tableName);
-- cfs.disableAutoCompaction();
--
-- for (int j = 0; j < 10; j++)
-- {
-- for (int i = 0; i < 10; i++)
-- execute("INSERT INTO %s (a, b, c, d) VALUES (?, ?, ?, ?)", "0", "a" + i, j * 10 + i, 0);
--
-- cfs.forceBlockingFlush();
-- }
--
-- ((ClearableHistogram)cfs.metric.sstablesPerReadHistogram.cf).clear();
-- assertRows(execute("SELECT * FROM %s WHERE a = ? AND (b, c) >= (?, ?) AND (b) <= (?) LIMIT 1000", "0", "a5", 85, "a5"),
-- row("0", "a5", 85, 0),
-- row("0", "a5", 95, 0));
-- assertEquals(2, cfs.metric.sstablesPerReadHistogram.cf.getSnapshot().getMax(), 0.1);
-- }
--
private void validateSliceLarge(ColumnFamilyStore cfs)
{
ClusteringIndexSliceFilter filter = slices(cfs, 1000, null, false);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b2692fc/test/unit/org/apache/cassandra/db/filter/SliceTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/db/filter/SliceTest.java
index c2589d8,2f07a24..9188c94
--- a/test/unit/org/apache/cassandra/db/filter/SliceTest.java
+++ b/test/unit/org/apache/cassandra/db/filter/SliceTest.java
@@@ -226,48 -228,48 +226,6 @@@ public class SliceTes
slice = Slice.make(makeBound(sk, 0), makeBound(ek, 2, 0, 0));
assertTrue(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 0, 0)));
-- // the slice technically falls within the sstable range, but since the first component is restricted to
-- // a single value, we can check that the second component does not fall within its min/max
-- slice = Slice.make(makeBound(sk, 1, 2, 0), makeBound(ek, 1, 3, 0));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
-- // same case, but with a missing start component
-- slice = Slice.make(makeBound(sk, 1, 2), makeBound(ek, 1, 3, 0));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
-- // same case, but with a missing end component
-- slice = Slice.make(makeBound(sk, 1, 2, 0), makeBound(ek, 1, 3));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
-- // same case, but with a missing start and end components
-- slice = Slice.make(makeBound(sk, 1, 2), makeBound(ek, 1, 3));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
-- // same case, but with missing start and end components and different lengths for start and end
-- slice = Slice.make(makeBound(sk, 1, 2), makeBound(ek, 1));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
--
-- // same as the previous set of tests, but the second component is equal in the slice start and end
-- slice = Slice.make(makeBound(sk, 1, 2, 0), makeBound(ek, 1, 2, 0));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
-- // same case, but with a missing start component
-- slice = Slice.make(makeBound(sk, 1, 2), makeBound(ek, 1, 2, 0));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
-- // same case, but with a missing end component
-- slice = Slice.make(makeBound(sk, 1, 2, 0), makeBound(ek, 1, 2));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
-- // same case, but with a missing start and end components
-- slice = Slice.make(makeBound(sk, 1, 2), makeBound(ek, 1, 2));
-- assertFalse(slice.intersects(cc, columnNames(1, 0, 0), columnNames(2, 1, 0)));
--
-- // same as the previous tests, but it's the third component that doesn't fit in its range this time
-- slice = Slice.make(makeBound(sk, 1, 1, 2), makeBound(ek, 1, 1, 3));
-- assertFalse(slice.intersects(cc, columnNames(1, 1, 0), columnNames(2, 2, 1)));
--
// empty min/max column names
slice = Slice.make(makeBound(sk), makeBound(ek));
assertTrue(slice.intersects(cc, columnNames(), columnNames()));
http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b2692fc/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java
index ffe7b06,ffe7b06..419eb25
--- a/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java
+++ b/test/unit/org/apache/cassandra/io/sstable/SSTableMetadataTest.java
@@@ -243,55 -243,55 +243,6 @@@ public class SSTableMetadataTes
}
}
-- @Test
-- public void testMaxMinComposites() throws CharacterCodingException, ExecutionException, InterruptedException
-- {
-- /*
-- creates two sstables, columns like this:
-- ---------------------
-- k |a0:9|a1:8|..|a9:0
-- ---------------------
-- and
-- ---------------------
-- k2 |b0:9|b1:8|..|b9:0
-- ---------------------
-- meaning max columns are b9 and 9, min is a0 and 0
-- */
-- Keyspace keyspace = Keyspace.open(KEYSPACE1);
--
-- ColumnFamilyStore cfs = keyspace.getColumnFamilyStore("StandardComposite2");
--
-- for (int i = 0; i < 10; i++)
-- {
-- new RowUpdateBuilder(cfs.metadata, 0, "k")
-- .clustering("a" + (9 - i), getBytes(i))
-- .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
-- .build()
-- .applyUnsafe();
--
-- }
-- cfs.forceBlockingFlush();
--
-- for (int i = 0; i < 10; i++)
-- {
-- new RowUpdateBuilder(cfs.metadata, 0, "k2")
-- .clustering("b" + (9 - i), getBytes(i))
-- .add("val", ByteBufferUtil.EMPTY_BYTE_BUFFER)
-- .build()
-- .applyUnsafe();
-- }
-- cfs.forceBlockingFlush();
-- cfs.forceMajorCompaction();
-- assertEquals(cfs.getLiveSSTables().size(), 1);
-- for (SSTableReader sstable : cfs.getLiveSSTables())
-- {
-- assertEquals("b9", ByteBufferUtil.string(sstable.getSSTableMetadata().maxClusteringValues.get(0)));
-- assertEquals(9, ByteBufferUtil.toInt(sstable.getSSTableMetadata().maxClusteringValues.get(1)));
-- assertEquals("a0", ByteBufferUtil.string(sstable.getSSTableMetadata().minClusteringValues.get(0)));
-- assertEquals(0, ByteBufferUtil.toInt(sstable.getSSTableMetadata().minClusteringValues.get(1)));
-- }
-- }
--
/*@Test
public void testLegacyCounterShardTracking()
{
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org