Hello,
In the process of upgrading our cluster from 2.1 to 2.2 we have triggered
the SSTable rewriting process like this:
$ nodetool upgradesstables -j 4 # concurrent_compactors=5
Then if we would immediately check the compactionstats, we see that 4
compactions of type 'Upgrade sstables' are running for the same
keyspace/table. Fine.
What is surprising, though, is that when any of the tasks which are smaller
in size complete, no new tasks are added and we are left waiting for a
smaller number of long running tasks to complete, e.g:
pending tasks: 4
id compaction type keyspace
table completed total unit progress
d535e962-00de-11e8-9c2c-ade7b0b922e3 Upgrade sstables cel_data
event_history_unbounded 32.87 GB 84.12 GB bytes 39.08%
d535e960-00de-11e8-9c2c-ade7b0b922e3 Upgrade sstables cel_data
event_history_unbounded 33.15 GB 84.79 GB bytes 39.09%
Periodically, an ordinary compaction would be listed, but no new Upgrade
tasks appear.
Only after all of the "current" tasks are finished, the new 4 tasks are
scheduled and the process repeats.
We would expect that new tasks would be scheduled as soon as a compaction
slot is freed up, but this doesn't seem to happen. Is this by design? I
do not see any open issue about this in Jira.
Cheers,
--
Oleksandr "Alex" Shulgin | Database Engineer | Zalando SE | Tel: +49 176
127-59-707