When a consensus node is frozen for an upgrade, MerkleDb compaction tasks keep running for longer than needed. At least, they are very visible in profiler snapshots. A couple things to check:
- If a compaction task is running, and the node is frozen (or about to freeze), the task should be interrupted. This would happen automatically, if the corresponding MerkleDb instance is closed, but I'm not sure the current data source is closed during freeze
- During freeze, a snapshot is written to disk for the freeze round. Snapshots may include MerkleDb flushes. Flushes, in turn, may trigger new data compaction tasks. This is fine for flushes in general, but not needed for flushes caused by freeze snapshots
When a consensus node is frozen for an upgrade, MerkleDb compaction tasks keep running for longer than needed. At least, they are very visible in profiler snapshots. A couple things to check: