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

Shalom commented on CASSANDRA-15336:
------------------------------------

Hi All,

I'll just update for anyone that might be experiencing the same issue, that 
after all the binaries were upgraded, the issue was gone as it came.

Moreover, we did some preliminary actions to mitigate this issue by running 
major compactions on "hazardous" tables, thus dropping potentially affecting 
tombstones.

There were still errors, but not as many as before.

Thanks [~benedict] for your assistance on this matter!

> LegacyLayout RangeTombstoneList throws IndexOutOfBoundsException When Running 
> Range Queries
> -------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-15336
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15336
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Shalom
>            Assignee: Benedict Elliott Smith
>            Priority: Normal
>
> Hi All, 
> This bug is similar to https://issues.apache.org/jira/browse/CASSANDRA-15172 
> but relates specifically to range queries running over range tombstones. 
>  
>  
> *+Steps to Reproduce:
>  +*
> CREATE KEYSPACE ks1 WITH replication = \{'class': 'NetworkTopologyStrategy', 
> 'DC1': '3'} AND durable_writes = true;
> +*TABLE:*+ 
>  CREATE TABLE ks1.table1 (
>  col1 text,
>  col2 text,
>  col3 text,
>  col4 text,
>  col5 text,
>  col6 timestamp,
>  data text,
>  PRIMARY KEY ((col1, col2, col3), col4, col5, col6)
>  );
>  
> Inserted ~4 million rows and created range tombstones by deleting ~1 million 
> rows.
>  
> +*Create Data*+
> _insert into ks1.table1 (col1, col2 , col3 , col4 , col5 , col6 , data ) 
> VALUES ( '1', '11', '21', '1', 'a', 12312312300000, 'data');_
>  _insert into ks1.table1 (col1, col2 , col3 , col4 , col5 , col6 , data ) 
> VALUES ( '1', '11', '21', '2', 'a', 12312312300000, 'data');_
>  _insert into ks1.table1 (col1, col2 , col3 , col4 , col5 , col6 , data ) 
> VALUES ( '1', '11', '21', '3', 'a', 12312312300000, 'data');_
>  _insert into ks1.table1 (col1, col2 , col3 , col4 , col5 , col6 , data ) 
> VALUES ( '1', '11', '21', '4', 'a', 12312312300000, 'data');_
>  _insert into ks1.table1 (col1, col2 , col3 , col4 , col5 , col6 , data ) 
> VALUES ( '1', '11', '21', '5', 'a', 12312312300000, 'data');_
>  
> +*Create Range Tombstones*+
> delete from ks1.table1 where col1='1' and col2='11' and col3='21' and 
> col4='1';
>  
> +*Query Live Rows (no tombstones)*+
> _select * from ks1.table1 where col1='1' and col2='201' and col3='21' and 
> col4='1' and col5='a' and *col6>12312312300000*;_
> No issues found, everything is running properly.
>  
> +*Query Range Tombstones*+
> _select * from ks1.table1 where col1='1' and col2='11' and col3='21' and 
> col4='1' and col5='a' and *col6=12312312300000*;_
> No issues found, everything is running properly.
>  
> +BUT when running range queries:+
> _select * from ks1.table1 where col1='1' and col2='11' and col3='21' and 
> col4='1' and col5='a' and *col6>12312312200000;*_
> WARN [ReadStage-1] 2019-09-23 14:17:10,281 
> AbstractLocalAwareExecutorService.java:167 - Uncaught exception on thread 
> Thread[ReadStage-1,5,main]: {}
>  java.lang.ArrayIndexOutOfBoundsException: 2
>  at 
> org.apache.cassandra.db.AbstractBufferClusteringPrefix.get(AbstractBufferClusteringPrefix.java:55)
>  at 
> org.apache.cassandra.db.LegacyLayout$LegacyRangeTombstoneList.serializedSizeCompound(LegacyLayout.java:2545)
>  at 
> org.apache.cassandra.db.LegacyLayout$LegacyRangeTombstoneList.serializedSize(LegacyLayout.java:2522)
>  at 
> org.apache.cassandra.db.LegacyLayout.serializedSizeAsLegacyPartition(LegacyLayout.java:565)
>  at 
> org.apache.cassandra.db.ReadResponse$Serializer.serializedSize(ReadResponse.java:446)
>  at 
> org.apache.cassandra.db.ReadResponse$Serializer.serializedSize(ReadResponse.java:352)
>  at org.apache.cassandra.net.MessageOut.payloadSize(MessageOut.java:171)
>  at 
> org.apache.cassandra.net.OutboundTcpConnectionPool.getConnection(OutboundTcpConnectionPool.java:77)
>  at 
> org.apache.cassandra.net.MessagingService.getConnection(MessagingService.java:802)
>  at 
> org.apache.cassandra.net.MessagingService.sendOneWay(MessagingService.java:953)
>  at 
> org.apache.cassandra.net.MessagingService.sendReply(MessagingService.java:929)
>  at 
> org.apache.cassandra.db.ReadCommandVerbHandler.doVerb(ReadCommandVerbHandler.java:62)
>  at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66)
>  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>  at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162)
>  at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:134)
>  at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:114)
>  at java.lang.Thread.run(Thread.java:745)
>  
> This WARN is constantly generated until I stop the range queries script.
> Hope this helps..
> Thanks!



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to