mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-29 19:21:01 +00:00
Turn table::snapshot into a coroutine, catch exceptions, and return them to the caller. Make sure that coordination across shards would not break even if any of the shards hits an error, by always signaling semaphores other shards wait on. All errors except for failing to allocate the snapshot_manager objects are caught and propagated back. Failing to allocate the snapshot_manager is fatal similar to failing to allocate a continuation since we can't coordinate across the shards without it, so abort that fails. Fixes #10500 Signed-off-by: Benny Halevy <bhalevy@scylladb.com>