service: storage_proxy: make hint write handlers cancellable

Whether a write handler should be cancellable is now controlled by a
parameter passed to `create_write_response_handler`. We plumb it down
from `send_to_endpoint` which is called by hints manager.

This will cause hint write handlers to immediately timeout when we
shutdown or when a destination node is marked as dead.

Fixes #8079
This commit is contained in:
Kamil Braun
2023-05-26 14:41:04 +02:00
parent eddb7406b4
commit 0ef35ceed4
3 changed files with 36 additions and 27 deletions

View File

@@ -1605,7 +1605,8 @@ static future<> apply_to_remote_endpoints(service::storage_proxy& proxy, gms::in
std::move(pending_endpoints),
db::write_type::VIEW,
std::move(tr_state),
allow_hints);
allow_hints,
service::is_cancellable::yes);
}
static bool should_update_synchronously(const schema& s) {