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]