Blake Eggleston created CASSANDRA-21824:
-------------------------------------------

             Summary: CEP-45: Compaction races with mutation tracking migration
                 Key: CASSANDRA-21824
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21824
             Project: Apache Cassandra
          Issue Type: Bug
            Reporter: Blake Eggleston


During migration to tracked replication you’ll sometimes see these exceptions:

{{       com.google.common.base.Preconditions.checkState(Preconditions.java:496)
       
org.apache.cassandra.io.sstable.format.SSTableWriter.finalizeMetadata(SSTableWriter.java:373)
       
org.apache.cassandra.io.sstable.format.SSTableWriter$TransactionalProxy.doPrepare(SSTableWriter.java:442)
       
org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.prepareToCommit(Transactional.java:168)
       
org.apache.cassandra.io.sstable.format.SSTableWriter.prepareToCommit(SSTableWriter.java:302)
       
org.apache.cassandra.io.sstable.SSTableRewriter.doPrepare(SSTableRewriter.java:338)
       
org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.prepareToCommit(Transactional.java:168)
       
org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.doPrepare(CompactionAwareWriter.java:121)
       
org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.prepareToCommit(Transactional.java:168)
       
org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.finish(Transactional.java:179)
       
org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.finish(CompactionAwareWriter.java:131)
       
org.apache.cassandra.db.compaction.IteratorCompactionPipeline.finishWriting(IteratorCompactionPipeline.java:57)
       
org.apache.cassandra.db.compaction.CompactionTask.finish(CompactionTask.java:410)
       
org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:320)
       org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:26)
       
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:113)
       
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:110)
       
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.run(CompactionManager.java:474)
       org.apache.cassandra.concurrent.FutureTask$3.call(FutureTask.java:141)
       org.apache.cassandra.concurrent.FutureTask.call(FutureTask.java:61)
       org.apache.cassandra.concurrent.FutureTask.run(FutureTask.java:71)
       
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
       
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
       
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
       java.lang.Thread.run(Thread.java:1583)}}

This could be caused by a compaction of sstables within a pending repair bucket 
starting during migration to tracked replication and ending after migration 
completes. Once migration is over it throws an exception if we try writing 
pending repaired sstables. This is temporary and harmless, the compaction is 
rolled back and the sstables are promoted to repaired, but it would be best if 
we didn’t throw exceptions like this during migration.




--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to