Skip to content

Commit 718a625

Browse files
committed
refactoring
1 parent 4559ba3 commit 718a625

File tree

10 files changed

+37
-30
lines changed

10 files changed

+37
-30
lines changed

Diff for: src/java/org/apache/cassandra/cql3/statements/schema/AlterTableStatement.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ public KeyspaceMetadata apply(Epoch epoch, KeyspaceMetadata keyspace, TableMetad
564564
{
565565
attrs.validate(keyspaceName);
566566

567-
TableParams params = attrs.asAlteredTableParams(table.params, keyspaceName);
567+
TableParams params = attrs.asAlteredTableParams(table.params);
568568

569569
if (table.isCounter() && params.defaultTimeToLive > 0)
570570
throw ire("Cannot set default_time_to_live on a table with counters");

Diff for: src/java/org/apache/cassandra/cql3/statements/schema/AlterViewStatement.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public Keyspaces apply(ClusterMetadata metadata)
7676
// Guardrails on table properties
7777
Guardrails.tableProperties.guard(attrs.updatedProperties(), attrs::removeProperty, state);
7878

79-
TableParams params = attrs.asAlteredTableParams(view.metadata.params, keyspaceName);
79+
TableParams params = attrs.asAlteredTableParams(view.metadata.params);
8080

8181
if (params.gcGraceSeconds == 0)
8282
{

Diff for: src/java/org/apache/cassandra/cql3/statements/schema/TableAttributes.java

+11-6
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,19 @@ public final class TableAttributes extends PropertyDefinitions
5757
public void validate(String keyspace)
5858
{
5959
validate(validKeywords, obsoleteKeywords);
60-
build(TableParams.builder(), keyspace).validate();
60+
partiallyBuild(TableParams.builder()).setDefaultCompressionIfNotSet(keyspace).build().validate();
6161
}
6262

6363
TableParams asNewTableParams(String keyspace)
6464
{
65-
return build(TableParams.builder(), keyspace);
65+
return partiallyBuild(TableParams.builder()).setDefaultCompressionIfNotSet(keyspace).build();
6666
}
6767

68-
TableParams asAlteredTableParams(TableParams previous, String keyspaceName)
68+
TableParams asAlteredTableParams(TableParams previous)
6969
{
7070
if (getId() != null)
7171
throw new ConfigurationException("Cannot alter table id.");
72-
return build(previous.unbuild(), keyspaceName);
72+
return build(previous.unbuild());
7373
}
7474

7575
public TableId getId() throws ConfigurationException
@@ -95,7 +95,12 @@ public static Set<String> allKeywords()
9595
return Sets.union(validKeywords, obsoleteKeywords);
9696
}
9797

98-
private TableParams build(TableParams.Builder builder, String keyspace)
98+
private TableParams build(TableParams.Builder builder)
99+
{
100+
return partiallyBuild(builder).build();
101+
}
102+
103+
private TableParams.Builder partiallyBuild(TableParams.Builder builder)
99104
{
100105
if (hasOption(ALLOW_AUTO_SNAPSHOT))
101106
builder.allowAutoSnapshot(getBoolean(ALLOW_AUTO_SNAPSHOT.toString(), true));
@@ -151,7 +156,7 @@ private TableParams build(TableParams.Builder builder, String keyspace)
151156
if (hasOption(READ_REPAIR))
152157
builder.readRepair(ReadRepairStrategy.fromString(getString(READ_REPAIR)));
153158

154-
return builder.build(keyspace);
159+
return builder;
155160
}
156161

157162
public boolean hasOption(Option option)

Diff for: src/java/org/apache/cassandra/db/ColumnFamilyStore.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3006,7 +3006,7 @@ public void setCrcCheckChance(double crcCheckChance)
30063006
{
30073007
try
30083008
{
3009-
TableParams.builder().crcCheckChance(crcCheckChance).build(keyspace.getName()).validate();
3009+
TableParams.builder().crcCheckChance(crcCheckChance).build().validate();
30103010
for (ColumnFamilyStore cfs : concatWithIndexes())
30113011
{
30123012
cfs.crcCheckChance.set(crcCheckChance);

Diff for: src/java/org/apache/cassandra/schema/SchemaKeyspace.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1050,7 +1050,7 @@ static TableParams createTableParamsFromRow(UntypedResultSet.Row row)
10501050
if (row.has("incremental_backups"))
10511051
builder.incrementalBackups(row.getBoolean("incremental_backups"));
10521052

1053-
return builder.build(row.getString("keyspace_name"));
1053+
return builder.build();
10541054
}
10551055

10561056
private static List<ColumnMetadata> fetchColumns(String keyspace, String table, Types types, UserFunctions functions)

Diff for: src/java/org/apache/cassandra/schema/TableMetadata.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ protected TableMetadata(Builder builder)
205205
epoch = builder.epoch;
206206
partitioner = builder.partitioner;
207207
kind = builder.kind;
208-
params = builder.params.build(keyspace);
208+
params = builder.params.setDefaultCompressionIfNotSet(keyspace).build();
209209

210210
indexName = kind == Kind.INDEX ? name.substring(name.indexOf('.') + 1) : null;
211211

@@ -665,9 +665,9 @@ public TableMetadata updateIndexTableMetadata(TableParams baseTableParams)
665665
builder.caching(baseTableParams.caching.cacheKeys() ? CachingParams.CACHE_KEYS : CachingParams.CACHE_NOTHING);
666666

667667
Builder unbuilt = unbuild();
668-
String keyspace = unbuilt.keyspace;
668+
builder.setDefaultCompressionIfNotSet(unbuilt.keyspace);
669669

670-
return unbuilt.params(builder.build(keyspace)).build();
670+
return unbuilt.params(builder.build()).build();
671671
}
672672

673673
boolean referencesUserType(ByteBuffer name)
@@ -1773,7 +1773,7 @@ public void serialize(TableMetadata t, DataOutputPlus out, Version version) thro
17731773
t.id.serialize(out);
17741774
out.writeUTF(t.partitioner.getClass().getCanonicalName());
17751775
out.writeUTF(t.kind.name());
1776-
new TableParams.Serializer(t.keyspace).serialize(t.params, out, version);
1776+
TableParams.serializer.serialize(t.params, out, version);
17771777

17781778
out.writeInt(t.flags.size());
17791779
for (Flag f : t.flags)
@@ -1809,7 +1809,8 @@ public TableMetadata deserialize(DataInputPlus in, Types types, UserFunctions fu
18091809
builder.epoch(epoch);
18101810
builder.partitioner(FBUtilities.newPartitioner(in.readUTF()));
18111811
builder.kind(Kind.valueOf(in.readUTF()));
1812-
builder.params(new TableParams.Serializer(ks).deserialize(in, version));
1812+
builder.params(TableParams.serializer.deserialize(in, version));
1813+
builder.params.setDefaultCompressionIfNotSet(ks);
18131814
int flagCount = in.readInt();
18141815
Set<Flag> flags = new HashSet<>();
18151816
for (int i = 0; i < flagCount; i++)
@@ -1835,7 +1836,7 @@ public long serializedSize(TableMetadata t, Version version)
18351836
t.id.serializedSize() +
18361837
sizeof(t.partitioner.getClass().getCanonicalName()) +
18371838
sizeof(t.kind.name()) +
1838-
new TableParams.Serializer(t.keyspace).serializedSize(t.params, version);
1839+
TableParams.serializer.serializedSize(t.params, version);
18391840

18401841
size += sizeof(t.epoch != null);
18411842
if (t.epoch != null)

Diff for: src/java/org/apache/cassandra/schema/TableParams.java

+11-10
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747

4848
public final class TableParams
4949
{
50+
public static final Serializer serializer = new Serializer();
5051
public enum Option
5152
{
5253
ALLOW_AUTO_SNAPSHOT,
@@ -366,11 +367,8 @@ public Builder()
366367
{
367368
}
368369

369-
public TableParams build(String keyspace)
370+
public TableParams build()
370371
{
371-
if (compression == null)
372-
compression = CompressionParams.defaultParams(keyspace);
373-
374372
return new TableParams(this);
375373
}
376374

@@ -470,6 +468,14 @@ public Builder compression(CompressionParams val)
470468
return this;
471469
}
472470

471+
public Builder setDefaultCompressionIfNotSet(String keyspace)
472+
{
473+
if (compression == null)
474+
compression = CompressionParams.defaultParams(keyspace);
475+
476+
return this;
477+
}
478+
473479
public Builder cdc(boolean val)
474480
{
475481
cdc = val;
@@ -491,11 +497,6 @@ public Builder extensions(Map<String, ByteBuffer> val)
491497

492498
public static class Serializer implements MetadataSerializer<TableParams>
493499
{
494-
private final String keyspace;
495-
Serializer(String keyspace) {
496-
this.keyspace = keyspace;
497-
}
498-
499500
public void serialize(TableParams t, DataOutputPlus out, Version version) throws IOException
500501
{
501502
out.writeUTF(t.comment);
@@ -538,7 +539,7 @@ public TableParams deserialize(DataInputPlus in, Version version) throws IOExcep
538539
.extensions(deserializeMapBB(in))
539540
.cdc(in.readBoolean())
540541
.readRepair(ReadRepairStrategy.fromString(in.readUTF()));
541-
return builder.build(keyspace);
542+
return builder.build();
542543
}
543544

544545
public long serializedSize(TableParams t, Version version)

Diff for: test/unit/org/apache/cassandra/db/ReadCommandTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,7 @@ public void testRepairedDataOverreadMetrics()
878878
cfs.disableAutoCompaction();
879879
cfs.metadata().withSwapped(cfs.metadata().params.unbuild()
880880
.caching(CachingParams.CACHE_NOTHING)
881-
.build(KEYSPACE));
881+
.build());
882882
// Insert and repair
883883
insert(cfs, IntStream.range(0, 10), () -> IntStream.range(0, 10));
884884
Util.flush(cfs);
@@ -929,7 +929,7 @@ public void testRepairedDataOverreadMetrics()
929929

930930
private void setGCGrace(ColumnFamilyStore cfs, int gcGrace)
931931
{
932-
TableParams newParams = cfs.metadata().params.unbuild().gcGraceSeconds(gcGrace).build(cfs.keyspace.getName());
932+
TableParams newParams = cfs.metadata().params.unbuild().gcGraceSeconds(gcGrace).build();
933933
KeyspaceMetadata keyspaceMetadata = Schema.instance.getKeyspaceMetadata(cfs.metadata().keyspace);
934934
SchemaTestUtil.addOrUpdateKeyspace(
935935
keyspaceMetadata.withSwapped(

Diff for: test/unit/org/apache/cassandra/service/paxos/PaxosStateTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public static void setUpClass() throws Throwable
5757
SchemaLoader.loadSchema();
5858
SchemaLoader.schemaDefinition("PaxosStateTest");
5959
metadata = Keyspace.open("PaxosStateTestKeyspace1").getColumnFamilyStore("Standard1").metadata.get();
60-
metadata.withSwapped(metadata.params.unbuild().gcGraceSeconds(3600).build("PaxosStateTestKeyspace1"));
60+
metadata.withSwapped(metadata.params.unbuild().gcGraceSeconds(3600).build());
6161
}
6262

6363
@AfterClass

Diff for: test/unit/org/apache/cassandra/utils/CassandraGenerators.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ public TableMetadata build(RandomnessSource rnd)
357357
.partitioner(PARTITIONER_GEN.generate(rnd))
358358
.kind(tableKindGen.generate(rnd))
359359
.isCounter(BOOLEAN_GEN.generate(rnd))
360-
.params(params.build(ks));
360+
.params(params.setDefaultCompressionIfNotSet(ks).build());
361361

362362
int numPartitionColumns = numPartitionColumnsGen.generate(rnd);
363363
int numClusteringColumns = numClusteringColumnsGen.generate(rnd);

0 commit comments

Comments
 (0)