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>
57 lines
1.6 KiB
C++
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;
|