Frank vissing created CASSANDRA-19747:
-----------------------------------------

             Summary: 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
            Reporter: Frank vissing


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';
{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

Reply via email to