cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (Updated) (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-2863) NPE when writing SSTable generated via repair
Date Mon, 10 Oct 2011 11:08:30 GMT


Sylvain Lebresne updated CASSANDRA-2863:

    Attachment: 2863.patch

Alright, I've tried boostrapping nodes a few times and I'm still not able to reproduce, so
 it's likely a race of something.

That being said, I still have no clue how the iwriter field in SSTableWriter.RowIndexer can
be null where the stack indicates it to be null. The assignment happens before the access,
there is no other assignment of that field and the assignment/access are in the same thread.

Anyway, what we can easily do is to make iwrite being final and assign it in the constructor.
If that doesn't make that field being non-null, I don't know what will. Patch attached to
make that change.
> NPE when writing SSTable generated via repair
> ---------------------------------------------
>                 Key: CASSANDRA-2863
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.8.1
>            Reporter: H├ęctor Izquierdo
>            Assignee: Sylvain Lebresne
>             Fix For: 0.8.8
>         Attachments: 2863.patch
> A NPE is generated during repair when closing an sstable generated via SSTable build.
It doesn't happen always. The node had been scrubbed and compacted before calling repair.
>  INFO [CompactionExecutor:2] 2011-07-06 11:11:32,640 (line 158) Opening
> ERROR [CompactionExecutor:2] 2011-07-06 11:11:34,327 (line
113) Fatal exception in thread Thread[CompactionExecutor:2,1,main] 
> java.lang.NullPointerException
> 	at$RowIndexer.close(
> 	at$RowIndexer.index(
> 	at$
> 	at org.apache.cassandra.db.compaction.CompactionManager$
> 	at org.apache.cassandra.db.compaction.CompactionManager$
> 	at java.util.concurrent.FutureTask$Sync.innerRun(
> 	at
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
> 	at java.util.concurrent.ThreadPoolExecutor$
> 	at

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message