cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-2373) Index Out Of Bounds during Validation Compaction (Repair)
Date Mon, 28 Mar 2011 15:50:05 GMT

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

Sylvain Lebresne commented on CASSANDRA-2373:
---------------------------------------------

Yes, wouldn't be a bad idea. We could check that tombstone values are 4 bytes long (that almost
could be an assert in ColumnSerializer.deserialize() actually, and I assume this is the problem
here) and non negative value. Expiration time shouldn't be negative either. And if we validate
the name and value through the validators, that would give an even better confidence that
nothing is rotten.

> Index Out Of Bounds during Validation Compaction (Repair)
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-2373
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2373
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7.4
>         Environment: CentOS on EC2
>            Reporter: Benjamin Coverston
>            Assignee: Sylvain Lebresne
>             Fix For: 0.7.5
>
>
> Stack Trace is below:
> ERROR [CompactionExecutor:1] 2011-03-23 19:11:39,488 AbstractCassandraDaemon.java (line
112) Fatal exception in thread Thread[CompactionExecutor:1,1,main]
> java.lang.IndexOutOfBoundsException
>         at java.nio.Buffer.checkIndex(Unknown Source)
>         at java.nio.HeapByteBuffer.getInt(Unknown Source)
>         at org.apache.cassandra.db.DeletedColumn.getLocalDeletionTime(DeletedColumn.java:57)
>         at org.apache.cassandra.db.ColumnFamilyStore.removeDeletedStandard(ColumnFamilyStore.java:879)
>         at org.apache.cassandra.db.ColumnFamilyStore.removeDeletedColumnsOnly(ColumnFamilyStore.java:866)
>         at org.apache.cassandra.db.ColumnFamilyStore.removeDeleted(ColumnFamilyStore.java:857)
>         at org.apache.cassandra.io.PrecompactedRow.<init>(PrecompactedRow.java:94)
>         at org.apache.cassandra.io.CompactionIterator.getCompactedRow(CompactionIterator.java:147)
>         at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:108)
>         at org.apache.cassandra.io.CompactionIterator.getReduced(CompactionIterator.java:43)
>         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.doValidationCompaction(CompactionManager.java:822)
>         at org.apache.cassandra.db.CompactionManager.access$800(CompactionManager.java:56)
>         at org.apache.cassandra.db.CompactionManager$6.call(CompactionManager.java:358)
>         at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
>         at java.util.concurrent.FutureTask.run(Unknown Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message