[
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]