Files
scylladb/timeout_config.hh
Kefu Chai ad649be1bf treewide: drop thrift support
thrift support was deprecated since ScyllaDB 5.2

> Thrift API - legacy ScyllaDB (and Apache Cassandra) API is
> deprecated and will be removed in followup release. Thrift has
> been disabled by default.

so let's drop it. in this change,

* thrift protocol support is dropped
* all references to thrift support in document are dropped
* the "thrift_version" column in system.local table is
  preserved for backward compatibility, as we could load
  from an existing system.local table which still contains
  this clolumn, so we need to write this column as well.
* "/storage_service/rpc_server" is only preserved for
  backward compatibility with java-based nodetool.
* `rpc_port` and `start_rpc` options are preserved, but
  they are marked as "Unused". so that the new release
  of scylladb can consume existing scylla.yaml configurations
  which might contain these settings. by making them
  deprecated, user will be able get warned, and update
  their configurations before we actually remove them
  in the next major release.

Fixes #3811
Fixes #18416
Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2024-06-07 06:44:59 +08:00

57 lines
1.6 KiB
C++

/*
* Copyright (C) 2018-present ScyllaDB
*
*/
/*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
#pragma once
#include "db/timeout_clock.hh"
#include "utils/updateable_value.hh"
namespace db { class config; }
class updateable_timeout_config;
/// timeout_config represents a snapshot of the options stored in it when
/// an instance of this class is created. so far this class is only used by
/// client_state. so either these classes are obliged to
/// update it by themselves, or they are fine with using the maybe-updated
/// options in the lifecycle of a client / connection even if some of these
/// options are changed whtn the client / connection is still alive.
struct timeout_config {
using duration_t = db::timeout_clock::duration;
duration_t read_timeout;
duration_t write_timeout;
duration_t range_read_timeout;
duration_t counter_write_timeout;
duration_t truncate_timeout;
duration_t cas_timeout;
duration_t other_timeout;
};
struct updateable_timeout_config {
using timeout_option_t = utils::updateable_value<uint32_t>;
timeout_option_t read_timeout_in_ms;
timeout_option_t write_timeout_in_ms;
timeout_option_t range_read_timeout_in_ms;
timeout_option_t counter_write_timeout_in_ms;
timeout_option_t truncate_timeout_in_ms;
timeout_option_t cas_timeout_in_ms;
timeout_option_t other_timeout_in_ms;
explicit updateable_timeout_config(const db::config& cfg);
timeout_config current_values() const;
};
using timeout_config_selector = db::timeout_clock::duration (timeout_config::*);
extern const timeout_config infinite_timeout_config;