[
https://issues.apache.org/jira/browse/CASSANDRA-10903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15069524#comment-15069524
]
Sylvain Lebresne commented on CASSANDRA-10903:
----------------------------------------------
I've pushed a simple followup that adds assertion and comment for
{{udpateBlock}} and adds the reverse case in the test (but again, indirect
testing through CQL is not ideal and CASSANDRA-10911 will be a better to get
decently exhausting testing of this). For the records, the reverse case was not
affected because we're unconditionally seeking to the last block which wasn't
done as part of the {{init}} method that was at fault here.
> AssertionError while reading sstable when querying static column
> ----------------------------------------------------------------
>
> Key: CASSANDRA-10903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10903
> Project: Cassandra
> Issue Type: Bug
> Components: Local Write-Read Paths
> Reporter: Tyler Hobbs
> Assignee: Sylvain Lebresne
> Fix For: 3.0.x, 3.x
>
>
> I'm able to consistently reproduce the following error:
> {noformat}
> 1 WARN [SharedPool-Worker-1] 2015-12-17 17:37:00,196
> AbstractTracingAwareExecutorService.java (line 169) Uncaught exception on
> thread Thread[SharedPool-Worker-1,5,main]: {}
> java.lang.AssertionError: null
> at
> org.apache.cassandra.db.columniterator.AbstractSSTableIterator$IndexState.updateBlock(AbstractSSTableIterator.java:463)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.columniterator.SSTableIterator$ForwardIndexedReader.computeNext(SSTableIterator.java:268)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.columniterator.SSTableIterator$ForwardReader.hasNextInternal(SSTableIterator.java:158)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.columniterator.AbstractSSTableIterator$Reader.hasNext(AbstractSSTableIterator.java:352)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.columniterator.AbstractSSTableIterator.hasNext(AbstractSSTableIterator.java:219)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.columniterator.SSTableIterator.hasNext(SSTableIterator.java:32)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:369)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:189)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:158)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator.computeNext(UnfilteredRowIterators.java:426)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator.computeNext(UnfilteredRowIterators.java:286)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:108)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:131)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:87)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:77)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:298)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:136)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:128)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:123)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:65)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:288)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1692)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2346)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> ~[na:1.8.0_45]
> at
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
> ~[cassandra-all-3.0.0.740.jar:3.0.0.740]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105)
> [cassandra-all-3.0.0.740.jar:3.0.0.740]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> {noformat}
> This occurs while executing a query like:
> {noformat}
> SELECT static_column FROM table WHERE partition_key = ?
> {noformat}
> on a table with one partition key and multiple clustering keys. I'm
> currently trying to create a more isolated reproduction.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)