Summary:
In could happen that snapshot expires while being created.
There is bad logic for such scenario.
Because we just switch snapshot to state DELETING, keeping the fact the operation is running.
As result we don't trigger DELETE_ON_TABLET operations for this snapshot.
Also we could mark it as deleted if existing operation finishes.
Fixed by switching from boolean flag running to running_serial.
So we could understand whether callback is invoked for active operation.
Jira: DB-14636
Test Plan: ./yb_build.sh asan -n 20 --gtest_filter --gtest_filter YbAdminSnapshotScheduleTest.DeleteIndexOnRestore
Reviewers: zdrudi
Reviewed By: zdrudi
Subscribers: telgersma, ybase
Tags: #jenkins-ready
Differential Revision: https://phorge.dev.yugabyte.com/D40844