You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Preston Cheung <zh...@gmail.com> on 2012/05/17 08:36:55 UTC

while compaction occur EOFException

While doing compaction, cassandra occured an EOFException, and it seems
that compaction failed.

I wonder whether my sstables are corrupt or it is a bug? Thanks all help!

Our cassandra is 0.7.3.
CentOS 5.4
jdk1.7.0

This is the log:

INFO [CompactionExecutor:1] 2012-05-17 10:42:18,095 CompactionManager.java
(line 452) Compacting
[SSTableReader(path='/data00/data/picasso/value-f-63129-Dat
a.db'),SSTableReader(path='/data01/data/picasso/value-f-63893-Data.db'),SSTableReader(path='/data01/data/picasso/value-f-63989-Data.db'),SSTableReader(path='
/data00/data/picasso/value-f-63691-Data.db'),SSTableReader(path='/data00/data/picasso/value-f-61779-Data.db'),SSTableReader(path='/data00/data/picasso/value-
f-61916-Data.db'),SSTableReader(path='/data00/data/picasso/value-f-61875-Data.db'),SSTableReader(path='/data00/data/picasso/value-f-63296-Data.db'),SSTableRe
ader(path='/data00/data/picasso/value-f-62139-Data.db'),SSTableReader(path='/data00/data/picasso/value-f-63821-Data.db')]
ERROR [CompactionExecutor:1] 2012-05-17 10:42:24,306
AbstractCassandraDaemon.java (line 114) Fatal exception in thread
Thread[CompactionExecutor:1,1,main]
java.io.IOError: java.io.EOFException
        at
org.apache.cassandra.io.sstable.SSTableIdentityIterator.<init>(SSTableIdentityIterator.java:117)
        at
org.apache.cassandra.io.sstable.SSTableIdentityIterator.<init>(SSTableIdentityIterator.java:67)
        at
org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:179)
        at
org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:144)
        at
org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:136)
        at
org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:39)
        at
org.apache.commons.collections.iterators.CollatingIterator.set(CollatingIterator.java:284)
        at
org.apache.commons.collections.iterators.CollatingIterator.least(CollatingIterator.java:326)
        at
org.apache.commons.collections.iterators.CollatingIterator.next(CollatingIterator.java:230)
        at
org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:68)
        at
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
        at
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
        at
org.apache.commons.collections.iterators.FilterIterator.setNextObject(FilterIterator.java:183)
        at
org.apache.commons.collections.iterators.FilterIterator.hasNext(FilterIterator.java:94)
        at
org.apache.cassandra.db.CompactionManager.doCompaction(CompactionManager.java:505)
        at
org.apache.cassandra.db.CompactionManager$4.call(CompactionManager.java:256)
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.EOFException
        at
org.apache.cassandra.io.sstable.IndexHelper.skipIndex(IndexHelper.java:65)
        at
org.apache.cassandra.io.sstable.SSTableIdentityIterator.<init>(SSTableIdentityIterator.java:109)
        ... 20 more

thx
-- 
by Preston Cheung

Re: while compaction occur EOFException

Posted by Jonathan Ellis <jb...@gmail.com>.
Looks like sstable corruption to me.  Bad memory can often cause this.

You should upgrade to the latest 0.7 release and run nodetool scrub.
I don't think the 0.7.3 scrub was very robust.

On Thu, May 17, 2012 at 1:36 AM, Preston Cheung <zh...@gmail.com> wrote:
> While doing compaction, cassandra occured an EOFException, and it seems that
> compaction failed.
>
> I wonder whether my sstables are corrupt or it is a bug? Thanks all help!
>
> Our cassandra is 0.7.3.
> CentOS 5.4
> jdk1.7.0
>
> This is the log:
>
> INFO [CompactionExecutor:1] 2012-05-17 10:42:18,095 CompactionManager.java
> (line 452) Compacting
> [SSTableReader(path='/data00/data/picasso/value-f-63129-Dat
> a.db'),SSTableReader(path='/data01/data/picasso/value-f-63893-Data.db'),SSTableReader(path='/data01/data/picasso/value-f-63989-Data.db'),SSTableReader(path='
> /data00/data/picasso/value-f-63691-Data.db'),SSTableReader(path='/data00/data/picasso/value-f-61779-Data.db'),SSTableReader(path='/data00/data/picasso/value-
> f-61916-Data.db'),SSTableReader(path='/data00/data/picasso/value-f-61875-Data.db'),SSTableReader(path='/data00/data/picasso/value-f-63296-Data.db'),SSTableRe
> ader(path='/data00/data/picasso/value-f-62139-Data.db'),SSTableReader(path='/data00/data/picasso/value-f-63821-Data.db')]
> ERROR [CompactionExecutor:1] 2012-05-17 10:42:24,306
> AbstractCassandraDaemon.java (line 114) Fatal exception in thread
> Thread[CompactionExecutor:1,1,main]
> java.io.IOError: java.io.EOFException
>         at
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.<init>(SSTableIdentityIterator.java:117)
>         at
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.<init>(SSTableIdentityIterator.java:67)
>         at
> org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:179)
>         at
> org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:144)
>         at
> org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:136)
>         at
> org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:39)
>         at
> org.apache.commons.collections.iterators.CollatingIterator.set(CollatingIterator.java:284)
>         at
> org.apache.commons.collections.iterators.CollatingIterator.least(CollatingIterator.java:326)
>         at
> org.apache.commons.collections.iterators.CollatingIterator.next(CollatingIterator.java:230)
>         at
> org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:68)
>         at
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
>         at
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
>         at
> org.apache.commons.collections.iterators.FilterIterator.setNextObject(FilterIterator.java:183)
>         at
> org.apache.commons.collections.iterators.FilterIterator.hasNext(FilterIterator.java:94)
>         at
> org.apache.cassandra.db.CompactionManager.doCompaction(CompactionManager.java:505)
>         at
> org.apache.cassandra.db.CompactionManager$4.call(CompactionManager.java:256)
>         at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:722)
> Caused by: java.io.EOFException
>         at
> org.apache.cassandra.io.sstable.IndexHelper.skipIndex(IndexHelper.java:65)
>         at
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.<init>(SSTableIdentityIterator.java:109)
>         ... 20 more
>
> thx
> --
> by Preston Cheung
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com