dcapwell commented on code in PR #4228:
URL: https://github.com/apache/cassandra/pull/4228#discussion_r2192998642
##########
test/unit/org/apache/cassandra/cql3/SimpleQueryTest.java:
##########
@@ -561,6 +564,32 @@ public void testSStableTimestampOrdering() throws Throwable
assertRows(execute("SELECT * FROM %s WHERE k1=1"), row(1, 1, 2));
}
+ @Test
+ public void testInvalidCompactionOptions()
+ {
+ try
+ {
+ createTable("CREATE TABLE %s.test (k int PRIMARY KEY, v int) WITH
compaction = {" +
+ "'class': 'LeveledCompactionStrategy', " +
+ "'fanout_size': '90', " +
+ "'sstable_size_in_mb': '1089'}");
+ fail("fanout_sizeed and sstable_size_in_mb are invalid, but did
not throw ConfigurationException");
+ }
+ catch (ConfigurationException e)
+ {
+ assertTrue(e.getMessage().contains("your maxSSTableSize must be
absurdly high to compute"));
+ }
+ }
+
+ @Test
+ public void testValidCompactionOptions()
+ {
+ createTable("CREATE TABLE %s.test (k int PRIMARY KEY, v int) WITH
compaction = {" +
+ "'class': 'LeveledCompactionStrategy', " +
+ "'fanout_size': '10', " +
Review Comment:
there are existing tests that cover this
```
$ grep -r fanout_size test/
test//unit/org/apache/cassandra/cql3/validation/miscellaneous/OverflowTest.java:
+ "AND compaction = { 'class' :
'LeveledCompactionStrategy', 'sstable_size_in_mb' : 10, 'fanout_size' : 5 } "
test//unit/org/apache/cassandra/SchemaLoader.java:
leveledOptions.put("fanout_size", "5");
test//unit/org/apache/cassandra/schema/createlike/CreateLikeTest.java:
alterTable("ALTER TABLE " + sourceKs + "." + sourceTb + " WITH compaction =
{'class':'LeveledCompactionStrategy', 'sstable_size_in_mb' : 10, 'fanout_size'
: 16} ");
test//unit/org/apache/cassandra/schema/createlike/CreateLikeTest.java:
String tableCompactionLcs = createTable(sourceKs, "CREATE TABLE %s (a text, b
int, c int, primary key (a, b)) WITH compaction = {'class' :
'LeveledCompactionStrategy', 'sstable_size_in_mb' : 1, 'fanout_size' : 5};");
test//unit/org/apache/cassandra/schema/createlike/CreateLikeTest.java:
String tableCopyAndSetLCSCompaction = createTableLike("CREATE TABLE %s LIKE %s
WITH compaction = {'class' : 'LeveledCompactionStrategy', 'sstable_size_in_mb'
: 10, 'fanout_size' : 16};",
test//unit/org/apache/cassandra/schema/createlike/CreateLikeTest.java:
"fanout_size", "16")))
test//unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java:
createTable("CREATE TABLE %s (id text PRIMARY KEY) WITH compaction =
{'class':'LeveledCompactionStrategy', 'sstable_size_in_mb':1,
'fanout_size':5};");
```
`test//unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java`
explicitly touches both configs.
If there is a reason to keep it can we document in the code why this should
exist compared to existing tests?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]