[ 
https://issues.apache.org/jira/browse/CASSANDRA-16482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17295264#comment-17295264
 ] 

Benjamin Lerer commented on CASSANDRA-16482:
--------------------------------------------

The problem was due to the fact that the {{appendCqlTo}} method in 
{{IndexMetadata}} was not using the correct variable. I added some tests to 
check the fix for DESCRIBE statement and when we output the schema for the 
backups.

[PR|https://github.com/apache/cassandra/pull/915] and CI results: 
[j8|https://app.circleci.com/pipelines/github/blerer/cassandra/109/workflows/3ce76197-3a65-40e6-b8d3-4f2c758b3696],
 
[j11|https://app.circleci.com/pipelines/github/blerer/cassandra/109/workflows/e0a80b74-3c72-4d12-b4a2-e6e40f1eecd7]



> CQL schema generated by DESCRIBE KEYSPACE fails to import with custom indexes
> -----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-16482
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16482
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Syntax
>            Reporter: Mike Adamson
>            Assignee: Benjamin Lerer
>            Priority: Normal
>             Fix For: 4.0-rc
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The CQL schema generated by a DESCRIBE KEYSPACE on a keyspace with a table 
> that contains a custom index cannot be reimported.
> The reimport of the schema fails with:
> {noformat}
> InvalidRequest: Error from server: code=2200 [Invalid query] message="Cannot 
> specify class_name as a CUSTOM option"
> {noformat}
> The reason for this is that the custom index definition is created with 
> {{class_name}} and {{target}} options added to it in it's {{WITH OPTIONS}} 
> section. This is then picked up by the {{IndexAttributes.validate}} method 
> that specifically rejects them.
> Note: This only seems to happen if the custom index was created with options 
> in the first place. So if the {{CREATE CUSTOM INDEX}} statement didn't 
> originally have a {{WITH OPTIONS}} section then it won't have the 
> {{class_name}} and {{target}} options added to it.
> h3. Steps to reproduce
> {noformat}
> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '1'};
> CREATE TABLE test.test (id int PRIMARY KEY, value text);
> CREATE CUSTOM INDEX ON test.test(value) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex' WITH OPTIONS = {'is_literal': 
> 'false'};
> DESCRIBE KEYSPACE test;
> {noformat}
> Trying to import the resultant schema will fail.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to