You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Zain Malik (JIRA)" <ji...@apache.org> on 2019/06/25 10:34:00 UTC

[jira] [Commented] (CASSANDRA-13363) Fix racy read command serialization

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

Zain Malik commented on CASSANDRA-13363:
----------------------------------------

Hi, 

we are facing similar issue in cassandra 3.0.16 where this racy condition is supposed to be fixed. In our case it is happening during bootstrap time 
{noformat}
ERROR 19:38:22 [Stream #f1c709f0-9418-11e9-8599-931b65954728] Streaming error occurred
java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
	at java.util.ArrayList.rangeCheck(ArrayList.java:657) ~[na:1.8.0_162]
	at java.util.ArrayList.get(ArrayList.java:433) ~[na:1.8.0_162]
	at org.apache.cassandra.db.ClusteringPrefix$Serializer.deserializeValuesWithoutSize(ClusteringPrefix.java:346) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.db.RangeTombstone$Bound$Serializer.deserializeValues(RangeTombstone.java:212) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.db.RangeTombstone$Bound$Serializer.deserialize(RangeTombstone.java:202) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.db.rows.UnfilteredSerializer.deserializeOne(UnfilteredSerializer.java:407) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.db.rows.UnfilteredSerializer.deserialize(UnfilteredSerializer.java:373) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.io.sstable.SSTableSimpleIterator$CurrentFormatIterator.computeNext(SSTableSimpleIterator.java:87) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.io.sstable.SSTableSimpleIterator$CurrentFormatIterator.computeNext(SSTableSimpleIterator.java:65) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.streaming.StreamReader$StreamDeserializer.hasNext(StreamReader.java:263) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:129) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.db.ColumnIndex$Builder.build(ColumnIndex.java:111) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:52) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.streaming.StreamReader.writePartition(StreamReader.java:172) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.streaming.compress.CompressedStreamReader.read(CompressedStreamReader.java:107) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:54) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:43) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:59) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:294) ~[apache-cassandra-3.0.16.jar:3.0.16]
	at org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:79) [apache-cassandra-3.0.16.jar:3.0.16]
	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_162]
{noformat}
 This causes streaming errors and as a consequence the node stays in JOINING state.

> Fix racy read command serialization
> -----------------------------------
>
>                 Key: CASSANDRA-13363
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13363
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: CentOS 6, Cassandra 3.10
>            Reporter: Artem Rokhin
>            Assignee: Aleksey Yeschenko
>            Priority: Normal
>              Labels: pull-request-available
>             Fix For: 3.0.15, 3.11.1
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Constantly see this error in the log without any additional information or a stack trace.
> {code}
> Exception in thread Thread[MessagingService-Incoming-/10.0.1.26,5,main]
> {code}
> {code}
> java.lang.ArrayIndexOutOfBoundsException: null
> {code}
> Logger: org.apache.cassandra.service.CassandraDaemon
> Thrdead: MessagingService-Incoming-/10.0.1.12
> Method: uncaughtException
> File: CassandraDaemon.java
> Line: 229



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