cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-2863) NPE when writing SSTable generated via repair
Date Thu, 21 Jul 2011 12:29:57 GMT


Sylvain Lebresne commented on CASSANDRA-2863:

I'm a little bit baffled by that one. Trusting the stack trace, apparently when SSTW.RowIndexer.close()
is called, the iwriter field is null. But iwriter is set in prepareIndexing() that is called
the line before index() in SSTW.Builder. Thus if an exception happens in prepareIndexing,
we shouldn't arrive to the index() method (which is the one triggering the close()). And looking
at the use of iwriter, no other line set it (so it can't be set back to null after prepareIndexing()).

So I mean we can add a {{if (iwriter != null)}} before calling the close, but the truth is
I have no clue how it could ever be null at that point.

Héctor: are you positive that you are using stock 0.8.1 ?

> 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.2
> 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.
For more information on JIRA, see:


View raw message