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

Sylvain Lebresne commented on CASSANDRA-9460:
---------------------------------------------

bq. could the iterators used in calculating the digest in the asynchronous read 
repair task ever become invalid?

No. No iterator is ever used concurrently, and each iterator in DataResolver 
(both for digest and actual response) are recreated from the raw bytes of the 
response which definitively cannot change/be invalidated. Pretty sure you can 
merge this to trunk with {{--strategy=ours}} (a.k.a, skip the commit).

> NullPointerException Creating Digest
> ------------------------------------
>
>                 Key: CASSANDRA-9460
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9460
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Stefania
>             Fix For: 2.1.x
>
>         Attachments: node2.log
>
>
> In the {{consistency_test.TestConsistency.short_read_test}} dtest against 
> cassandra-2.1, the following error occured:
> {noformat}
> ERROR [ReadRepairStage:3] 2015-05-22 16:35:25,034 CassandraDaemon.java:223 - 
> Exception in thread Thread[ReadRepairStage:3,5,main]
> java.lang.NullPointerException: null
>     at 
> org.apache.cassandra.db.ColumnFamily.updateDigest(ColumnFamily.java:390) 
> ~[main/:na]
>     at org.apache.cassandra.db.ColumnFamily.digest(ColumnFamily.java:383) 
> ~[main/:na]
>     at 
> org.apache.cassandra.service.RowDigestResolver.resolve(RowDigestResolver.java:84)
>  ~[main/:na]
>     at 
> org.apache.cassandra.service.RowDigestResolver.resolve(RowDigestResolver.java:28)
>  ~[main/:na]
>     at 
> org.apache.cassandra.service.ReadCallback$AsyncRepairRunner.run(ReadCallback.java:176)
>  ~[main/:na]
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_80]
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_80]
>     at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]
> {noformat}
> From a glance at the code in the stacktrace, it looks like there was a null 
> cell in the ColumnFamily that we were creating a digest of.  This error is 
> probably particular to "short reads".
> Here's the failing test: 
> http://cassci.datastax.com/job/cassandra-2.1_dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/.
>   I've attached the logs for the node with the error.
> We saw this issue against 2.1, but the problem may also exist with 2.0 and/or 
> 2.2.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to