You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jeremiah Jordan (JIRA)" <ji...@apache.org> on 2014/05/12 20:37:17 UTC
[jira] [Commented] (CASSANDRA-4938) CREATE INDEX can block for
creation now that schema changes may be concurrent
[ https://issues.apache.org/jira/browse/CASSANDRA-4938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13995427#comment-13995427 ]
Jeremiah Jordan commented on CASSANDRA-4938:
--------------------------------------------
Do we really want to block on the asynchronous index creation? I agree it would be nice to know when it is done, but I don't think blocking on the cql command by default is the right way to go. Index creation could take hours.
> CREATE INDEX can block for creation now that schema changes may be concurrent
> -----------------------------------------------------------------------------
>
> Key: CASSANDRA-4938
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4938
> Project: Cassandra
> Issue Type: Wish
> Reporter: Krzysztof Cieslinski Cognitum
> Priority: Minor
> Labels: lhf
> Fix For: 3.0
>
>
> Response from CREATE INDEX command comes faster than the creation of secondary index. So below code:
> {code:xml}
> CREATE INDEX ON tab(name);
> SELECT * FROM tab WHERE name = 'Chris';
> {code}
> doesn't return any rows(of course, in column family "tab", there are some records with "name" value = 'Chris'..) and any errors ( i would expect something like ??"Bad Request: No indexed columns present in by-columns clause with Equal operator"??)
> Inputing some timeout between those two commands resolves the problem, so:
> {code:xml}
> CREATE INDEX ON tab(name);
> Sleep(timeout); // for column family with 2000 rows the timeout had to be set for ~1 second
> SELECT * FROM tab WHERE name = 'Chris';
> {code}
> will return all rows with values as specified.
> I'm using single node cluster.
--
This message was sent by Atlassian JIRA
(v6.2#6252)