Skip to content

Commit

Permalink
Prohibit counter columns (#563)
Browse files Browse the repository at this point in the history
  • Loading branch information
wi11dey authored Oct 24, 2024
1 parent ce27606 commit c29c3d3
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/java/org/apache/cassandra/service/CassandraDaemon.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@
import com.palantir.cassandra.concurrent.LocalReadRunnableTimeoutWatcher;
import com.palantir.cassandra.db.BootstrappingSafetyException;
import com.palantir.cassandra.settings.DisableClientInterfaceSetting;
import com.palantir.logsafe.Preconditions;
import com.palantir.logsafe.Safe;
import com.palantir.logsafe.SafeArg;
import org.apache.cassandra.config.ColumnDefinition;
import org.apache.cassandra.config.Config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -72,6 +76,7 @@
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.*;
import org.apache.cassandra.db.commitlog.CommitLog;
import org.apache.cassandra.db.marshal.CounterColumnType;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.StartupException;
import org.apache.cassandra.io.util.FileUtils;
Expand Down Expand Up @@ -260,6 +265,22 @@ private void completeSetupMayThrowSstableException() {
// load schema from disk
Schema.instance.loadFromDisk();

for (String keyspaceName : Schema.instance.getKeyspaces())
{
for (CFMetaData cfm : Schema.instance.getKeyspaceMetaData(keyspaceName).values())
{
for (ColumnDefinition def : cfm.allColumns())
{
Preconditions.checkState(
!(def.type instanceof CounterColumnType),
"Palantir Cassandra does not support counter columns",
SafeArg.of("keyspace", keyspaceName),
SafeArg.of("columnFamily", cfm.cfName),
SafeArg.of("columnName", def.name));
}
}
}

Map<Pair<String, String>, Map<Integer, UUID>> unfinishedCompactions = SystemKeyspace.getUnfinishedCompactions();
for (String keyspaceName : Schema.instance.getKeyspaces())
{
Expand Down

0 comments on commit c29c3d3

Please sign in to comment.