mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-28 10:41:12 +00:00
When a counter write times out (due to rpc::timeout_error or timed_out_error), the code was throwing mutation_write_timeout_exception but not marking the write_timeouts metric. This resulted in counter write timeouts not being counted in the scylla_storage_proxy_coordinator_write_timeouts metric. Regular writes go through mutate_internal -> mutate_end, which catches mutation_write_timeout_exception and marks the metric. However, counter writes use a separate code path (mutate_counters) that has its own exception handling but was missing the metric update. This fix adds get_stats().write_timeouts.mark() before throwing the timeout exception in the counter write path, consistent with how the CAS path handles cas_write_timeouts. Refs: https://scylladb.atlassian.net/browse/SCYLLADB-245 Signed-off-by: Yaniv Kaul <yaniv.kaul@scylladb.com> Closes scylladb/scylladb#28019