[ 
https://issues.apache.org/jira/browse/CASSANDRA-11066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Artem Soloviov updated CASSANDRA-11066:
---------------------------------------
    Description: 
Enabling secondary index on clustering column breaks static column support:
{code:java}
Connected to Cassandra Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.2.1 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 1};
cqlsh> USE test;
cqlsh:test> CREATE  TABLE t (k text , s text  static, i int, PRIMARY KEY (k, 
i));
cqlsh:test> CREATE INDEX t_idx ON t(i);
cqlsh:test> INSERT INTO t (k,s,i) VALUES ('k','static value', 0);
{code}
causes
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.cassandra.db.AbstractClusteringPrefix.get(AbstractClusteringPrefix.java:59)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.composites.ClusteringColumnIndex.getIndexedValue(ClusteringColumnIndex.java:60)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue(CassandraIndex.java:598)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex.insert(CassandraIndex.java:490)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex.access$100(CassandraIndex.java:53)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex$1.indexPrimaryKey(CassandraIndex.java:437)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex$1.insertRow(CassandraIndex.java:347)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.onInserted(SecondaryIndexManager.java:803)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:275)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:154)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.db.Memtable.put(Memtable.java:239) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1225) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:494) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:384) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.db.Mutation.apply(Mutation.java:202) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.service.StorageProxy$$Lambda$223/885149282.run(Unknown 
Source) ~[na:na]
        at 
org.apache.cassandra.service.StorageProxy$7.runMayThrow(StorageProxy.java:1276) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2433)
 [apache-cassandra-3.2.1.jar:3.2.1]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
[na:1.8.0_51]
        at 
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
 [apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
[apache-cassandra-3.2.1.jar:3.2.1]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
{noformat}

  was:
Enabling secondary index on clustering column breaks static column support:
{code}
Connected to Exodentity Cassandra Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.2.1 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
'replication_factor': 1};
cqlsh> USE test;
cqlsh:test> CREATE  TABLE t (k text , s text  static, i int, PRIMARY KEY (k, 
i));
cqlsh:test> CREATE INDEX t_idx ON t(i);
cqlsh:test> INSERT INTO t (k,s,i) VALUES ('k','static value', 0);
{code}
causes 
{noformat}
java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.cassandra.db.AbstractClusteringPrefix.get(AbstractClusteringPrefix.java:59)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.composites.ClusteringColumnIndex.getIndexedValue(ClusteringColumnIndex.java:60)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue(CassandraIndex.java:598)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex.insert(CassandraIndex.java:490)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex.access$100(CassandraIndex.java:53)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex$1.indexPrimaryKey(CassandraIndex.java:437)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.internal.CassandraIndex$1.insertRow(CassandraIndex.java:347)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.onInserted(SecondaryIndexManager.java:803)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:275)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:154)
 ~[apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.db.Memtable.put(Memtable.java:239) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1225) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:494) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:384) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.db.Mutation.apply(Mutation.java:202) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.service.StorageProxy$$Lambda$223/885149282.run(Unknown 
Source) ~[na:na]
        at 
org.apache.cassandra.service.StorageProxy$7.runMayThrow(StorageProxy.java:1276) 
~[apache-cassandra-3.2.1.jar:3.2.1]
        at 
org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2433)
 [apache-cassandra-3.2.1.jar:3.2.1]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
[na:1.8.0_51]
        at 
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
 [apache-cassandra-3.2.1.jar:3.2.1]
        at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
[apache-cassandra-3.2.1.jar:3.2.1]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
{noformat}


> Static column with secondary index on clustering column causes 
> ArrayIndexOutOfBoundsException
> ---------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-11066
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11066
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Feature/2i Index, Legacy/CQL, Legacy/Local Write-Read 
> Paths
>         Environment: [cqlsh 5.0.1 | Cassandra 3.2.1 | CQL spec 3.4.0 | Native 
> protocol v4]
>            Reporter: Artem Soloviov
>            Priority: Normal
>
> Enabling secondary index on clustering column breaks static column support:
> {code:java}
> Connected to Cassandra Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 3.2.1 | CQL spec 3.4.0 | Native protocol v4]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> cqlsh> USE test;
> cqlsh:test> CREATE  TABLE t (k text , s text  static, i int, PRIMARY KEY (k, 
> i));
> cqlsh:test> CREATE INDEX t_idx ON t(i);
> cqlsh:test> INSERT INTO t (k,s,i) VALUES ('k','static value', 0);
> {code}
> causes
> {noformat}
> java.lang.ArrayIndexOutOfBoundsException: 0
>         at 
> org.apache.cassandra.db.AbstractClusteringPrefix.get(AbstractClusteringPrefix.java:59)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.index.internal.composites.ClusteringColumnIndex.getIndexedValue(ClusteringColumnIndex.java:60)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.index.internal.CassandraIndex.getIndexedValue(CassandraIndex.java:598)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.index.internal.CassandraIndex.insert(CassandraIndex.java:490)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.index.internal.CassandraIndex.access$100(CassandraIndex.java:53)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.index.internal.CassandraIndex$1.indexPrimaryKey(CassandraIndex.java:437)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.index.internal.CassandraIndex$1.insertRow(CassandraIndex.java:347)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.onInserted(SecondaryIndexManager.java:803)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:275)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:154)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at org.apache.cassandra.db.Memtable.put(Memtable.java:239) 
> ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1225) 
> ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:494) 
> ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:384) 
> ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at org.apache.cassandra.db.Mutation.apply(Mutation.java:202) 
> ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.service.StorageProxy$$Lambda$223/885149282.run(Unknown 
> Source) ~[na:na]
>         at 
> org.apache.cassandra.service.StorageProxy$7.runMayThrow(StorageProxy.java:1276)
>  ~[apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2433)
>  [apache-cassandra-3.2.1.jar:3.2.1]
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [na:1.8.0_51]
>         at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  [apache-cassandra-3.2.1.jar:3.2.1]
>         at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.2.1.jar:3.2.1]
>         at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
> {noformat}



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

Reply via email to