[
https://issues.apache.org/jira/browse/CASSANDRA-9449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14555793#comment-14555793
]
Paul Praet commented on CASSANDRA-9449:
---------------------------------------
1) Yes:
{code}
CREATE TABLE wifidoctor.device (
columna text,
columnb text,
columnc timestamp,
columnd text,
columne text,
columnf text,
columng text,
columnh text,
PRIMARY KEY ((columna, columnb))
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'min_threshold': '4', 'class':
'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy',
'max_threshold': '32'}
AND compression = {'sstable_compression':
'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
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_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
cqlsh> INSERT INTO wifidoctor.device (columnA, columnB,
columnC,columnD,columnE,columnF,columnG,columnH) VALUES
('a','','2015-01-01','','','','','');
InvalidRequest: code=2200 [Invalid query] message="Unknown identifier columne"
{code}
2) yes, it does. After the restart, the INSERT query works.
> Running ALTER TABLE cql statement asynchronously results in failure
> -------------------------------------------------------------------
>
> Key: CASSANDRA-9449
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9449
> Project: Cassandra
> Issue Type: Bug
> Environment: Singe cluster environment
> Reporter: Paul Praet
>
> When running 'ALTER TABLE' cql statements asynchronously, we notice that
> often certain columns are missing, causing subsequent queries to fail.
> The code snippet below can be used to reproduce the problem.
> cassandra is a com.datastax.driver.core.Session reference.
> We construct the table synchronously and then alter it (adding five columns)
> with the cassandra async API. We synchronize to ensure the table is properly
> altered before continuing. Preparing the statement at the bottom of the code
> snippet often fails:
> {noformat} com.datastax.driver.core.exceptions.InvalidQueryException: Unknown
> identifier columnf {noformat}
> {code}
> @Test
> public void testCassandraAsyncAlterTable() throws Exception {
> ResultSet rs = cassandra.execute("CREATE TABLE device ( columnA text,
> columnB text, columnC timestamp, PRIMARY KEY ((columnA, columnB)));");
> List<ResultSetFuture> futures = new ArrayList<>();
> futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnD
> text;"));
> futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnE
> text;"));
> futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnF
> text;"));
> futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnG
> text;"));
> futures.add(cassandra.executeAsync("ALTER TABLE device ADD columnH
> text;"));
> for(ResultSetFuture resultfuture : futures){ resultfuture.get(); }
>
> /* discard the result; only interested to see if it works or not */
> cassandra.prepare("INSERT INTO device (columnA, columnB,
> columnC,columnD,columnE,columnF,columnG,columnH) VALUES (?,?,?,?,?,?,?,?);");
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)