[jira] [Commented] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504018#comment-16504018 ] Javier Canillas commented on CASSANDRA-13935: - [~KurtG] where are you testing this? I might try and fix the problem. Tell me which branch please. > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Assignee: Javier Canillas >Priority: Trivial > Fix For: 3.11.x > > Attachments: 13935-3.0.txt, 13935-3.11.txt, 13935-trunk.txt > > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16192889#comment-16192889 ] Javier Canillas edited comment on CASSANDRA-13935 at 10/5/17 1:41 PM: -- Patch for cassandra trunk version attached (although you can fast-foward the 3.0 patch), You can also see changes on my forked repository: https://github.com/javiercanillas/cassandra/tree/13935-trunk was (Author: kani): Patch for cassandra trunk version attached, You can also see changes on my forked repository: https://github.com/javiercanillas/cassandra/tree/13935-trunk > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Priority: Trivial > Fix For: 3.11.x > > Attachments: 13935-3.0.txt, 13935-3.11.txt, 13935-trunk.txt > > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Javier Canillas updated CASSANDRA-13935: Attachment: 13935-trunk.txt Patch for cassandra trunk version attached, You can also see changes on my forked repository: https://github.com/javiercanillas/cassandra/tree/13935-trunk > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Priority: Trivial > Fix For: 3.11.x > > Attachments: 13935-3.0.txt, 13935-3.11.txt, 13935-trunk.txt > > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Javier Canillas updated CASSANDRA-13935: Attachment: 13935-3.0.txt Patch for cassandra version 3.0 attached, You can also see changes on my forked repository: https://github.com/javiercanillas/cassandra/tree/13935-3.0 > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Priority: Trivial > Attachments: 13935-3.0.txt > > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Javier Canillas updated CASSANDRA-13935: Fix Version/s: 3.11.x Reproduced In: 3.11.0, 3.0.14 (was: 3.0.14, 3.11.0) Status: Patch Available (was: Open) Attached you may find patches. git comment does not include reviewer, feel free to change it. See submitted files comments if you prefer checking code from my public forked repository > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Priority: Trivial > Fix For: 3.11.x > > Attachments: 13935-3.0.txt, 13935-3.11.txt > > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Javier Canillas updated CASSANDRA-13935: Attachment: 13935-3.11.txt Patch for cassandra version 3.11 attached (although you can fast-foward the 3.0 patch to 3.11), You can also see changes on my forked repository: https://github.com/javiercanillas/cassandra/tree/13935-3.11 > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Priority: Trivial > Attachments: 13935-3.0.txt, 13935-3.11.txt > > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Javier Canillas updated CASSANDRA-13935: Reproduced In: 3.11.0, 3.0.14 (was: 3.11.0) > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Priority: Trivial > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16191923#comment-16191923 ] Javier Canillas edited comment on CASSANDRA-13935 at 10/4/17 7:43 PM: -- This seems to happen with CUSTOM INDEXES too was (Author: kani): This seems to happens too with CUSTOM INDEXES > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Priority: Trivial > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
[ https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16191923#comment-16191923 ] Javier Canillas commented on CASSANDRA-13935: - This seems to happens too with CUSTOM INDEXES > Indexes creation should have IF EXISTS on its String representation > --- > > Key: CASSANDRA-13935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 > Project: Cassandra > Issue Type: Bug > Components: CQL, Secondary Indexes > Environment: Ubuntu 16.04.2 LTS > java version "1.8.0_144" > Java(TM) SE Runtime Environment (build 1.8.0_144-b01) > Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >Reporter: Javier Canillas >Priority: Trivial > > I came across something that bothers me a lot. I'm using snapshots to backup > data from my Cassandra cluster in case something really bad happens (like > dropping a table or a keyspace). > Exercising the recovery actions from those backups, I discover that the > schema put on the file "schema.cql" as a result of the snapshot has the > "CREATE IF NOT EXISTS" for the table, but not for the indexes. > When restoring from snapshots, and relying on the execution of these schemas > to build up the table structure, everything seems fine for tables without > secondary indexes, but for the ones that make use of them, the execution of > these statements fail miserably. > Here I paste a generated schema.cql content for a table with indexes: > CREATE TABLE IF NOT EXISTS keyspace1.table1 ( > id text PRIMARY KEY, > content text, > last_update_date date, > last_update_date_time timestamp) > WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 > AND bloom_filter_fp_chance = 0.01 > AND dclocal_read_repair_chance = 0.1 > AND crc_check_chance = 1.0 > AND default_time_to_live = 864 > AND gc_grace_seconds = 864000 > AND min_index_interval = 128 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 0 > AND read_repair_chance = 0.0 > AND speculative_retry = '99PERCENTILE' > AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } > AND compaction = { 'max_threshold': '32', 'min_threshold': '4', > 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } > AND compression = { 'chunk_length_in_kb': '64', 'class': > 'org.apache.cassandra.io.compress.LZ4Compressor' } > AND cdc = false > AND extensions = { }; > CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); > I think the last part should be: > CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 > (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation
Javier Canillas created CASSANDRA-13935: --- Summary: Indexes creation should have IF EXISTS on its String representation Key: CASSANDRA-13935 URL: https://issues.apache.org/jira/browse/CASSANDRA-13935 Project: Cassandra Issue Type: Bug Components: CQL, Secondary Indexes Environment: Ubuntu 16.04.2 LTS java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) Reporter: Javier Canillas Priority: Trivial I came across something that bothers me a lot. I'm using snapshots to backup data from my Cassandra cluster in case something really bad happens (like dropping a table or a keyspace). Exercising the recovery actions from those backups, I discover that the schema put on the file "schema.cql" as a result of the snapshot has the "CREATE IF NOT EXISTS" for the table, but not for the indexes. When restoring from snapshots, and relying on the execution of these schemas to build up the table structure, everything seems fine for tables without secondary indexes, but for the ones that make use of them, the execution of these statements fail miserably. Here I paste a generated schema.cql content for a table with indexes: CREATE TABLE IF NOT EXISTS keyspace1.table1 ( id text PRIMARY KEY, content text, last_update_date date, last_update_date_time timestamp) WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920 AND bloom_filter_fp_chance = 0.01 AND dclocal_read_repair_chance = 0.1 AND crc_check_chance = 1.0 AND default_time_to_live = 864 AND gc_grace_seconds = 864000 AND min_index_interval = 128 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND read_repair_chance = 0.0 AND speculative_retry = '99PERCENTILE' AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' } AND compaction = { 'max_threshold': '32', 'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' } AND compression = { 'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor' } AND cdc = false AND extensions = { }; CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 (last_update_date); I think the last part should be: CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 (last_update_date); -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] Commented: (CASSANDRA-1379) Uncached row reads may block cached reads
[ https://issues.apache.org/jira/browse/CASSANDRA-1379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12986686#action_12986686 ] Javier Canillas commented on CASSANDRA-1379: Actually, on the patch both reads times will impact on the only read counter. Maybe creating a separate counter for cache reads and physical reads would be good. On the other hand, i dont remember if there is a miss counter over cache, if there is, it would be surely impacted > Uncached row reads may block cached reads > - > > Key: CASSANDRA-1379 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1379 > Project: Cassandra > Issue Type: New Feature > Components: Core >Reporter: David King >Assignee: Javier Canillas >Priority: Minor > Fix For: 0.7.2 > > Attachments: CASSANDRA-1379.patch > > > The cap on the number of concurrent reads appears to cap the *total* number > of concurrent reads instead of just capping the reads that are bound for > disk. That is, given N concurrent readers if all of them are busy waiting on > disk, even reads that can be served from the row cache will block waiting for > them. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-1379) Uncached row reads may block cached reads
[ https://issues.apache.org/jira/browse/CASSANDRA-1379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Javier Canillas updated CASSANDRA-1379: --- Attachment: CASSANDRA-1379.patch This issue has been around my head for some time and since we are using Cassandra on live environment (not exactly 0.7 version) I have taken the time to make a patch for you to check. Here you will find some roadmap of my change: Since Table.getRow was checking if the asked Key was in the RowCache before going directly into the Memtables and SSTables, I have made another method called getCachedRow that only checks for the key on the RowCache. If its not there, then a null object (actually a Row.Cf = null) is returned. If you see the code, you will notice that I didn't remove the Cache check on the Table.getRow since I prefer a double check on cache, than a second miss if, for some reason, someone put that row on cache after first check. Getting that in mind, I have added another public method to ReadCommand and implemented on SliceByNamesReadCommand and SliceFromReadCommand. This new method is actually only calling the Table.getCachedRow instead of Table.getRow. Doing so, now I went straight to see ReadVerbHandler, and I cloned it for a new ReadCacheVerbHandler (then I turned ReadVerbHandler into an abstract class and created a ReadPhyisicalVerbHandler to avoid duplicate code). This new class (ReadCacheVerbHandler) will call the ReadCommand.getCachedRow, if this method returns a Row with cf equals to null, then the command must be forwarded to another Stage in order to fulfill the requirements by making a physical read. This new stage was named PHYSICAL_READ and a new verb (PHYSICAL_READ) was created. The new stage was actually cloned from READ Stage (please check if this stage needs further tunning). In order to be able to manipulate the original message to change the Verb, ReadCommand.makeReadMessage was changed and extended to support overrides on messageId and Verb itself. So, after getting an empty result on a cache search, the read command is forwarded into the PHYSICAL_READ stage (freeing a READ thread), and it is the last one that actually respond the row; otherwise, the cached row is returned. Sorry for the large response and my bad english, I tried to explain the main idea, but you probably will understand all this mechanism by inspecting the code. Long life to Cassandra! > Uncached row reads may block cached reads > - > > Key: CASSANDRA-1379 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1379 > Project: Cassandra > Issue Type: New Feature > Components: Core >Reporter: David King >Priority: Minor > Fix For: 0.7.1 > > Attachments: CASSANDRA-1379.patch > > > The cap on the number of concurrent reads appears to cap the *total* number > of concurrent reads instead of just capping the reads that are bound for > disk. That is, given N concurrent readers if all of them are busy waiting on > disk, even reads that can be served from the row cache will block waiting for > them. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (CASSANDRA-1225) New .Net Client for Cassandra
New .Net Client for Cassandra - Key: CASSANDRA-1225 URL: https://issues.apache.org/jira/browse/CASSANDRA-1225 Project: Cassandra Issue Type: Task Components: Documentation & website Affects Versions: 0.6.2 Environment: Microsoft Platform, .Net Framework Reporter: Javier Canillas Priority: Trivial Well, I have made my own Cassandra Client for .NET 3.5 since the ones you listed don't support all the functionality i needed. I would like to contribute to the project and ask you to link my framework client so others can take advantage of its potential, or not. I don't really know if this is the proper way to ask for this, in case i'm wrong please tell me where i should post to ask for this. Regards. Oh, by the way.. the link to my project is http://aquiles.codeplex.com/ -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.