You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stu Hood (JIRA)" <ji...@apache.org> on 2010/07/19 18:20:50 UTC

[jira] Created: (CASSANDRA-1299) EOFException in LazilyCompactedRow

EOFException in LazilyCompactedRow
----------------------------------

                 Key: CASSANDRA-1299
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1299
             Project: Cassandra
          Issue Type: Bug
            Reporter: Stu Hood
            Assignee: Jonathan Ellis
            Priority: Critical
             Fix For: 0.7


Post CASSANDRA-270, 'ant clean long-test' fails with an EOFException in LazilyCompactedRow.

{code}java.io.IOError: java.io.EOFException
	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:103)
	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:32)
	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 com.google.common.collect.Iterators$7.computeNext(Iterators.java:604)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
	at org.apache.cassandra.db.ColumnIndexer.serializeInternal(ColumnIndexer.java:76)
	at org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:50)
	at org.apache.cassandra.io.LazilyCompactedRow.<init>(LazilyCompactedRow.java:62)
	at org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:135)
	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:107)
	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:46)
	at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:73)
	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:334)
	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompaction(LongCompactionSpeedTest.java:101)
	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompactionWide(LongCompactionSpeedTest.java:49)
Caused by: java.io.EOFException
	at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
	at java.io.RandomAccessFile.readLong(RandomAccessFile.java:758)
	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:128)
	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:119)
	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:90)
	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:31)
	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:99)
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1299) EOFException in LazilyCompactedRow

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1299:
--------------------------------------

    Attachment: 1299.txt

CASSANDRA-270 exposed a long-standing bug in SSTableUtils where it was writing garbage data while bypassing memtable to assemble its own SSTables by hand.  It needs to limit the data passed to SSTableWriter to the actual valid data in the DataOutputBuffer.  Attached is a patch that takes the simplest approach to this by copying out only the valid data into a separate byte[].  Ideally I'd prefer to remove the append(key, byte[]) method entirely but that will have to wait until we have a BMT replacement.

> EOFException in LazilyCompactedRow
> ----------------------------------
>
>                 Key: CASSANDRA-1299
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1299
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Stu Hood
>            Assignee: Jonathan Ellis
>            Priority: Critical
>             Fix For: 0.7
>
>         Attachments: 1299.txt
>
>
> Post CASSANDRA-270, 'ant clean long-test' fails with an EOFException in LazilyCompactedRow.
> {code}java.io.IOError: java.io.EOFException
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:103)
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:32)
> 	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 com.google.common.collect.Iterators$7.computeNext(Iterators.java:604)
> 	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
> 	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
> 	at org.apache.cassandra.db.ColumnIndexer.serializeInternal(ColumnIndexer.java:76)
> 	at org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:50)
> 	at org.apache.cassandra.io.LazilyCompactedRow.<init>(LazilyCompactedRow.java:62)
> 	at org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:135)
> 	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:107)
> 	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:46)
> 	at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:73)
> 	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:334)
> 	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompaction(LongCompactionSpeedTest.java:101)
> 	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompactionWide(LongCompactionSpeedTest.java:49)
> Caused by: java.io.EOFException
> 	at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
> 	at java.io.RandomAccessFile.readLong(RandomAccessFile.java:758)
> 	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:128)
> 	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:119)
> 	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:90)
> 	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:31)
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:99)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-1299) EOFException in LazilyCompactedRow

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-1299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-1299:
--------------------------------------

    Affects Version/s: 0.7
          Component/s: Core

> EOFException in LazilyCompactedRow
> ----------------------------------
>
>                 Key: CASSANDRA-1299
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1299
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7
>            Reporter: Stu Hood
>            Assignee: Jonathan Ellis
>            Priority: Critical
>             Fix For: 0.7
>
>         Attachments: 1299.txt
>
>
> Post CASSANDRA-270, 'ant clean long-test' fails with an EOFException in LazilyCompactedRow.
> {code}java.io.IOError: java.io.EOFException
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:103)
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:32)
> 	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 com.google.common.collect.Iterators$7.computeNext(Iterators.java:604)
> 	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
> 	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
> 	at org.apache.cassandra.db.ColumnIndexer.serializeInternal(ColumnIndexer.java:76)
> 	at org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:50)
> 	at org.apache.cassandra.io.LazilyCompactedRow.<init>(LazilyCompactedRow.java:62)
> 	at org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:135)
> 	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:107)
> 	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:46)
> 	at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:73)
> 	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:334)
> 	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompaction(LongCompactionSpeedTest.java:101)
> 	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompactionWide(LongCompactionSpeedTest.java:49)
> Caused by: java.io.EOFException
> 	at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
> 	at java.io.RandomAccessFile.readLong(RandomAccessFile.java:758)
> 	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:128)
> 	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:119)
> 	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:90)
> 	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:31)
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:99)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1299) EOFException in LazilyCompactedRow

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12890714#action_12890714 ] 

Hudson commented on CASSANDRA-1299:
-----------------------------------

Integrated in Cassandra #496 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/496/])
    

> EOFException in LazilyCompactedRow
> ----------------------------------
>
>                 Key: CASSANDRA-1299
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1299
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7
>            Reporter: Stu Hood
>            Assignee: Jonathan Ellis
>            Priority: Critical
>             Fix For: 0.7
>
>         Attachments: 1299.txt
>
>
> Post CASSANDRA-270, 'ant clean long-test' fails with an EOFException in LazilyCompactedRow.
> {code}java.io.IOError: java.io.EOFException
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:103)
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:32)
> 	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 com.google.common.collect.Iterators$7.computeNext(Iterators.java:604)
> 	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
> 	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
> 	at org.apache.cassandra.db.ColumnIndexer.serializeInternal(ColumnIndexer.java:76)
> 	at org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:50)
> 	at org.apache.cassandra.io.LazilyCompactedRow.<init>(LazilyCompactedRow.java:62)
> 	at org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:135)
> 	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:107)
> 	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:46)
> 	at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:73)
> 	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:334)
> 	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompaction(LongCompactionSpeedTest.java:101)
> 	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompactionWide(LongCompactionSpeedTest.java:49)
> Caused by: java.io.EOFException
> 	at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
> 	at java.io.RandomAccessFile.readLong(RandomAccessFile.java:758)
> 	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:128)
> 	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:119)
> 	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:90)
> 	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:31)
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:99)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-1299) EOFException in LazilyCompactedRow

Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-1299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12889931#action_12889931 ] 

Stu Hood commented on CASSANDRA-1299:
-------------------------------------

Ha, yea... that would do it. Thanks!

+1

> EOFException in LazilyCompactedRow
> ----------------------------------
>
>                 Key: CASSANDRA-1299
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1299
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7
>            Reporter: Stu Hood
>            Assignee: Jonathan Ellis
>            Priority: Critical
>             Fix For: 0.7
>
>         Attachments: 1299.txt
>
>
> Post CASSANDRA-270, 'ant clean long-test' fails with an EOFException in LazilyCompactedRow.
> {code}java.io.IOError: java.io.EOFException
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:103)
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:32)
> 	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 com.google.common.collect.Iterators$7.computeNext(Iterators.java:604)
> 	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:136)
> 	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:131)
> 	at org.apache.cassandra.db.ColumnIndexer.serializeInternal(ColumnIndexer.java:76)
> 	at org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:50)
> 	at org.apache.cassandra.io.LazilyCompactedRow.<init>(LazilyCompactedRow.java:62)
> 	at org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:135)
> 	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:107)
> 	at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:46)
> 	at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:73)
> 	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:334)
> 	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompaction(LongCompactionSpeedTest.java:101)
> 	at org.apache.cassandra.db.LongCompactionSpeedTest.testCompactionWide(LongCompactionSpeedTest.java:49)
> Caused by: java.io.EOFException
> 	at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
> 	at java.io.RandomAccessFile.readLong(RandomAccessFile.java:758)
> 	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:128)
> 	at org.apache.cassandra.db.TimestampClockSerializer.deserialize(TimestampClock.java:119)
> 	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:90)
> 	at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:31)
> 	at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:99)
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.