Maxim Muzafarov created CASSANDRA-21188:
-------------------------------------------
Summary: Race between compaction and dictionary compression
training. Status stuck at SAMPLING. ExportImportListCompressionDictionaryTest
hangs
Key: CASSANDRA-21188
URL: https://issues.apache.org/jira/browse/CASSANDRA-21188
Project: Apache Cassandra
Issue Type: Bug
Reporter: Maxim Muzafarov
There is a race beween compaction process and dictionary compression training
start:
# CompressionDictionaryManager: We collect all live sstables
# ICompressionDictionaryTrainer: start a new traning
# currentTrainingStatus moved to SAMPLING
# All SSTables get compacted within concurrent compaction thread
# SSTableSamplingTask: in the constructor sstable.tryRef return null
# We run this task on a thread pool and it exists in cancelManualTraining
# the currentTrainingStatus remains SAMPLING (should be *FAILED* or
{*}COMPLETED!{*})
ExportImportListCompressionDictionaryTest hangs for 10 minutes (configured
constant) for now reason.
The logs:
{code}
INFO [PerDiskMemtableFlushWriter_0:1] 2026-02-21T17:07:05,061
Flushing.java:157 - Writing
Memtable-table_testexportingspecificdictionary_strateg_18@1268950324(61.523KiB
serialized bytes, 1000 ops, 506.836KiB (0%) on-heap, 0B (0%) off-heap), flushed
range = [min(-9223372036854775808), max(9223372036854775807))
INFO [PerDiskMemtableFlushWriter_0:1] 2026-02-21T17:07:05,061
Flushing.java:197 - Completed flushing
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-11-big-Data.db
(28.198KiB) for commitlog position CommitLogPosition(segmentId=1771693567140,
position=654098), time spent: 0 ms, bytes flushed: 28875 / (rate: 28.198KiB/s),
partitions flushed: 1000 / (rate: 1000/s), rows: 1000 / (rate: 1000/s), cpu
time: 0 ms, heap allocated: 220.711KiB
INFO [MemtableFlushWriter:1] 2026-02-21T17:07:05,084 LogTransaction.java:266 -
Unfinished transaction log, deleting
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa_txn_flush_bf3ac330-0f47-11f1-88d2-574197b4b378.log
DEBUG [MemtableFlushWriter:1] 2026-02-21T17:07:05,087
ColumnFamilyStore.java:1416 - Flushed to
[BigTableReader:big(path='/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-11-big-Data.db')]
(1 sstables, 30.889KiB), biggest 30.889KiB, smallest 30.889KiB
INFO [main] 2026-02-21T17:07:05,091 ColumnFamilyStore.java:1088 - Enqueuing
flush of cql_test_keyspace.table_testexportingspecificdictionary_strateg_18,
Reason: UNIT_TESTS, Usage: 506.836KiB (0%) on-heap, 0B (0%) off-heap
INFO [PerDiskMemtableFlushWriter_0:2] 2026-02-21T17:07:05,092
Flushing.java:157 - Writing
Memtable-table_testexportingspecificdictionary_strateg_18@957877902(61.523KiB
serialized bytes, 1000 ops, 506.836KiB (0%) on-heap, 0B (0%) off-heap), flushed
range = [min(-9223372036854775808), max(9223372036854775807))
INFO [PerDiskMemtableFlushWriter_0:2] 2026-02-21T17:07:05,094
Flushing.java:197 - Completed flushing
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-12-big-Data.db
(28.201KiB) for commitlog position CommitLogPosition(segmentId=1771693567140,
position=726098), time spent: 0 ms, bytes flushed: 28878 / (rate: 28.201KiB/s),
partitions flushed: 1000 / (rate: 1000/s), rows: 1000 / (rate: 1000/s), cpu
time: 0 ms, heap allocated: 220.711KiB
INFO [MemtableFlushWriter:2] 2026-02-21T17:07:05,112 LogTransaction.java:266 -
Unfinished transaction log, deleting
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa_txn_flush_bf3fa530-0f47-11f1-88d2-574197b4b378.log
DEBUG [MemtableFlushWriter:2] 2026-02-21T17:07:05,116
ColumnFamilyStore.java:1416 - Flushed to
[BigTableReader:big(path='/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-12-big-Data.db')]
(1 sstables, 30.887KiB), biggest 30.887KiB, smallest 30.887KiB
DEBUG [CompactionExecutor:2] 2026-02-21T17:07:05,117 Directories.java:554 -
FileStore /System/Volumes/Data (/dev/disk3s5) has 593792975872 bytes available,
checking if we can write 103847 bytes
INFO [CompactionExecutor:2] 2026-02-21T17:07:05,117 CompactionTask.java:229 -
Compacting (bf4375c0-0f47-11f1-88d2-574197b4b378)
[/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-11-big-Data.db,
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-12-big-Data.db,
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-9-big-Data.db,
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-10-big-Data.db,
]
DEBUG [CompactionExecutor:2] 2026-02-21T17:07:05,118 CursorCompactor.java:152 -
Cursor compaction for table: table_testexportingspecificdictionary_strateg_18
keyspace: cql_test_keyspace is supported.
INFO [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:05,146
CommandInvokerService.java:185 - Executing command 'train' with execution ID:
a5960218-7f58-41a2-a06f-d627acf20efd
INFO [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:05,147
CompressionDictionaryManager.java:237 - Starting SSTable-based training for
cql_test_keyspace.table_testexportingspecificdictionary_strateg_18 with 1
SSTables
INFO [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:05,150
CompressionDictionaryScheduler.java:101 - Starting SSTable-based dictionary
training for cql_test_keyspace.table_testexportingspecificdictionary_strateg_18
from 1 SSTables
DEBUG [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:05,150
CompressionDictionaryScheduler.java:198 - Couldn't acquire reference to SSTable
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-13-big.
It may have been removed.
WARN [NonPeriodicTasks:1] 2026-02-21T17:07:05,150
CompressionDictionaryScheduler.java:213 - No SSTables available for sampling in
cql_test_keyspace.table_testexportingspecificdictionary_strateg_18
INFO [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:05,150
ToolRunner.java:927 - >>>> Polling training status...SAMPLING
INFO [CompactionExecutor:2] 2026-02-21T17:07:05,152 CursorCompactor.java:1574
- Compaction ended bf4375c0-0f47-11f1-88d2-574197b4b378: { data bytes read =
294620, data bytes written = 297868, input (keys = [1:10000,] = 10000, rows =
[1:10000,] = 10000, cells = [1:10000,] = 10000), output (keys = 10000, rows =
10000, cells = 10000)}
INFO [CompactionExecutor:2] 2026-02-21T17:07:05,153 CompactionTask.java:336 -
Compacted (bf4375c0-0f47-11f1-88d2-574197b4b378) 4 sstables to
[build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-13-big,]
to level=0. 101.413KiB to 91.637KiB (~90% of original) in 35ms. Read
Throughput = 2.826MiB/s, Write Throughput = 2.554MiB/s, Row Throughput =
~10,000/s. 10,000 total partitions merged to 10,000. Partition merge counts
were {1:10000, }. Time spent writing keys = 10ms
INFO [NonPeriodicTasks:1] 2026-02-21T17:07:05,153 BigFormat.java:324 -
Deleting sstable:
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-11-big
INFO [NonPeriodicTasks:1] 2026-02-21T17:07:05,154 BigFormat.java:324 -
Deleting sstable:
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-12-big
INFO [NonPeriodicTasks:1] 2026-02-21T17:07:05,154 BigFormat.java:324 -
Deleting sstable:
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-9-big
INFO [NonPeriodicTasks:1] 2026-02-21T17:07:05,155 BigFormat.java:324 -
Deleting sstable:
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa-10-big
INFO [NonPeriodicTasks:1] 2026-02-21T17:07:05,155 LogTransaction.java:266 -
Unfinished transaction log, deleting
/Users/maxim.muzafarov/IdeaProjects/cassandra/build/test/cassandra/data/cql_test_keyspace/table_testexportingspecificdictionary_strateg_18-1b255f4def2540a60000000000000056/pa_txn_compaction_bf4375c0-0f47-11f1-88d2-574197b4b378.log
INFO [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:06,155
ToolRunner.java:927 - >>>> Polling training status...SAMPLING
INFO [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:07,159
ToolRunner.java:927 - >>>> Polling training status...SAMPLING
INFO [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:08,163
ToolRunner.java:927 - >>>> Polling training status...SAMPLING
INFO [RMI TCP Connection(26)-127.0.0.1] 2026-02-21T17:07:09,168
ToolRunner.java:927 - >>>> Polling training status...SAMPLING
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]