Files
scylladb/service
Benny Halevy fa5d70da32 storage_proxy: abstract_read_resolver: handle semaphore_timed_out error
semaphore_timed_out errors should be ignored, similar to
rpc::timeout_error or seastar::timed_out_error, so that they
eventually be converted to `read_timeout_exception` via
the data/digest read resolver on_timeout() method.

Otherwise, the semaphore timeout is mistranslated to
read_failure_exception, via on_error().

Note that originally the intention was to change the exception
thrown by the reader_concurrency_semaphore expiry_handler, but
there are already several places in the code that catch and handle
the semaphore_timed_out exception that would need to be changed,
increasing the risk in this change.

Fixes #8958

Test: unit(dev)

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
Message-Id: <20210708083252.1934651-2-bhalevy@scylladb.com>
2021-07-08 15:23:30 +03:00
..