cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-4934) assertion error in offheap bloom filter
Date Fri, 09 Nov 2012 16:14:12 GMT

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

Jonathan Ellis commented on CASSANDRA-4934:
-------------------------------------------

I think the problem is that compaction never bothered to mark overlapped sstables (that it
uses for tombstone purge checking) as referenced, so those can get free'd out from under an
ongoing compaction.  Before OHBS this was not a problem because the contents of those sstables
was never referenced, only the bloom filter, which the GC kept around as long as it was needed.
 But now we need to manually manage that.

Patchset pushed to http://github.com/jbellis/cassandra/branches/4934
                
> assertion error in offheap bloom filter
> ---------------------------------------
>
>                 Key: CASSANDRA-4934
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4934
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.0 beta 2
>            Reporter: Brandon Williams
>            Assignee: Vijay
>             Fix For: 1.2.0 rc1
>
>         Attachments: log.txt
>
>
> Saw this while running the dtests:
> {noformat}
>  INFO [CompactionExecutor:2] 2012-11-08 09:35:18,206 CompactionTask.java (line 116) Compacting
[SSTableReader(path='/tmp/dtest-n2D_fM/test/node2/data/system/local/system-local-ia-9-Data.db'),
SSTableReader(path='/tmp/dtest-n2D_fM/test/node2/data/system/local/system-local-ia-11-Data.db'),
SSTableReader(path='/tmp/dtest-n2D_fM/test/node2/data/system/local/system-local-ia-10-Data.db'),
SSTableReader(path='/tmp/dtest-n2D_fM/test/node2/data/system/local/system-local-ia-13-Data.db')]
> ERROR [CompactionExecutor:2] 2012-11-08 09:35:18,257 CassandraDaemon.java (line 132)
Exception in thread Thread[CompactionExecutor:2,1,main]
> java.lang.AssertionError: Memory was freed
>     at org.apache.cassandra.io.util.Memory.checkPosition(Memory.java:134)
>     at org.apache.cassandra.io.util.Memory.getByte(Memory.java:104)
>     at org.apache.cassandra.utils.obs.OffHeapBitSet.get(OffHeapBitSet.java:60)
>     at org.apache.cassandra.utils.BloomFilter.isPresent(BloomFilter.java:71)
>     at org.apache.cassandra.db.compaction.CompactionController.shouldPurge(CompactionController.java:106)
>     at org.apache.cassandra.db.compaction.PrecompactedRow.removeDeletedAndOldShards(PrecompactedRow.java:64)
>     at org.apache.cassandra.db.compaction.PrecompactedRow.<init>(PrecompactedRow.java:95)
>     at org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:151)
>     at org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:72)
>     at org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:57)
>     at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:114)
>     at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:97)
>     at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>     at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>     at com.google.common.collect.Iterators$8.computeNext(Iterators.java:734)
>     at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>     at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>     at org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:146)
>     at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
>     at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
>     at org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:69)
>     at org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:179)
>     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:662)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message