[ 
https://issues.apache.org/jira/browse/CASSANDRA-4832?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Herron updated CASSANDRA-4832:
------------------------------------

    Attachment: FlushWriterKeyAssertionBlock.txt

Came across this investigating an apparent deadlock in Schema Migrations.

If this assertion fails on the flushWriter executor, it blocks indefinitely. 
Anything upstream locking-wise gets stuck also. This was on 1.1.6.

Log output below, thread dump attached.

ERROR [FlushWriter:3] 2012-10-19 22:27:56,948 
org.apache.cassandra.service.AbstractCassandraDaemon Exception in thread 
Thread[FlushWriter:3,5,main]
java.lang.AssertionError: Keys must not be empty
        at 
org.apache.cassandra.io.sstable.SSTableWriter.beforeAppend(SSTableWriter.java:133)
        at 
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:176)
        at 
org.apache.cassandra.db.Memtable.writeSortedContents(Memtable.java:295)
        at org.apache.cassandra.db.Memtable.access$600(Memtable.java:48)
        at org.apache.cassandra.db.Memtable$5.runMayThrow(Memtable.java:316)
        at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
        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)


                
> AssertionError: keys must not be empty
> --------------------------------------
>
>                 Key: CASSANDRA-4832
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4832
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.6
>         Environment: Debian 6.0.5
>            Reporter: Tristan Seligmann
>            Assignee: Tristan Seligmann
>            Priority: Minor
>              Labels: indexing
>             Fix For: 1.1.7
>
>         Attachments: FlushWriterKeyAssertionBlock.txt
>
>
> I'm getting errors like this logged:
>  INFO 07:08:32,104 Compacting 
> [SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hf-114-Data.db'),
>  
> SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hf-113-Data.db'),
>  
> SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hf-110-Data.db'),
>  
> SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hd-108-Data.db'),
>  
> SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hd-106-Data.db'),
>  
> SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hd-107-Data.db'),
>  
> SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hf-112-Data.db'),
>  
> SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hf-109-Data.db'),
>  
> SSTableReader(path='/var/lib/cassandra/data/Fusion/quoteinfo/Fusion-quoteinfo.quoteinfo_search_value_idx-hf-111-Data.db')]
> ERROR 07:08:32,108 Exception in thread Thread[CompactionExecutor:5,1,main]
> java.lang.AssertionError: Keys must not be empty
>         at 
> org.apache.cassandra.io.sstable.SSTableWriter.beforeAppend(SSTableWriter.java:133)
>         at 
> org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:154)
>         at 
> org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:159)
>         at 
> org.apache.cassandra.db.compaction.CompactionManager$1.runMayThrow(CompactionManager.java:154)
>         at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
>         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)
> I'm not really sure when this started happening; they tend to be logged 
> during a repair but I can't reproduce the error 100% reliably.

--
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

Reply via email to