[ https://issues.apache.org/jira/browse/CASSANDRA-19747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brandon Williams updated CASSANDRA-19747: ----------------------------------------- Bug Category: Parent values: Correctness(12982)Level 1 values: Recoverable Corruption / Loss(12986) Complexity: Normal Component/s: Local/Snapshots Discovered By: User Report Fix Version/s: 4.1.x 5.0.x 5.x Severity: Normal Status: Open (was: Triage Needed) > Invalid schema.cql created by snapshot after dropping more than one field > ------------------------------------------------------------------------- > > Key: CASSANDRA-19747 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19747 > Project: Cassandra > Issue Type: Bug > Components: Local/Snapshots > Reporter: Frank vissing > Priority: Normal > Fix For: 4.1.x, 5.0.x, 5.x > > > After dropping at least 2 fields the schema.cql produced by _nodetool > snapshot_ is invalid (it is missing a comma) > {code:sql} > CREATE TABLE IF NOT EXISTS test.testtable ( > field1 text PRIMARY KEY, > field2 text > field3 text > ) WITH ID ...{code} > expected outcome > {code:sql} > CREATE TABLE IF NOT EXISTS test.testtable ( > field1 text PRIMARY KEY, > field2 text, > field3 text > ) WITH ID ...{code} > reproducing the isue is simple by running the following commands > {code:sh} > docker run -d --name cassandra cassandra:4.1.5 > echo "Wait for the container to start" > until docker exec -ti cassandra nodetool status | grep UN;do sleep > 1;done;sleep 10 > echo "Create keyspace and table for test" > docker exec -ti cassandra cqlsh -e "CREATE KEYSPACE IF NOT EXISTS test WITH > replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}; CREATE > TABLE IF NOT EXISTS test.testtable (field1 text PRIMARY KEY,field2 > text,field3 text);" > echo "Drop 2 fields" > docker exec -ti cassandra cqlsh -e "ALTER TABLE test.testtable DROP (field2, > field3);" > echo "Create snapshot and view schema.cql" > docker exec -ti cassandra /opt/cassandra/bin/nodetool snapshot -t my_snapshot > docker exec -ti cassandra find /var/lib/cassandra/data -name schema.cql > -exec cat {} + {code} > the full output of the sql generated by the reproduce is below > {code:sql} > CREATE TABLE IF NOT EXISTS test.testtable ( > field1 text PRIMARY KEY, > field2 text > field3 text > ) WITH ID = 0e9aa540-391f-11ef-945e-0be1221ff441 > AND additional_write_policy = '99p' > AND bloom_filter_fp_chance = 0.01 > AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} > AND cdc = false > AND comment = '' > AND compaction = {'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32', 'min_threshold': '4'} > AND compression = {'chunk_length_in_kb': '16', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND memtable = 'default' > AND crc_check_chance = 1.0 > AND default_time_to_live = 0 > AND extensions = {} > AND gc_grace_seconds = 864000 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND min_index_interval = 128 > AND read_repair = 'BLOCKING' > AND speculative_retry = '99p'; > ALTER TABLE test.testtable DROP field2 USING TIMESTAMP 1719999102807000; > ALTER TABLE test.testtable DROP field3 USING TIMESTAMP 1719999102807001; > {code} > Found this bug while trying to restore the schema from a backup created by > copying a snapshot from a running node. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org