You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Artem Soloviov (JIRA)" <ji...@apache.org> on 2019/03/27 15:00:00 UTC
[jira] [Updated] (CASSANDRA-11066) Static column with secondary
index on clustering column causes ArrayIndexOutOfBoundsException
[ 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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org