Summary:
It could happen that RocksDB shutdown is invoked during compaction start.
In this case compaction quickly exit, without changing pending compaction counter in column family data.
If DBImpl::StartShutdown() is called after CompactionTask::Run but before DBImpl::BackgroundCompaction checks IsShuttingDown() fatal failure happen.
Fixed by updating this counter in the scenario above.
Also found that GenerateRestoreWriteBatch opens temporary rocksdb from snapshot, that has compaction enabled.
And it could run compaction in some cases.
Added option to disable compactions for this instance.
Jira: DB-14399
Test Plan: ./yb_build.sh asan --cxx-test tools_yb-admin-snapshot-schedule-test --gtest_filter ColocationAndRestoreType/YbAdminSnapshotScheduleTestWithYsqlColocationRestoreParam.PgsqlSequenceVerifyPartialRestore/1 -n 200 -- -p 2
Reviewers: timur
Reviewed By: timur
Subscribers: ybase
Tags: #jenkins-ready
Differential Revision: https://phorge.dev.yugabyte.com/D40548