mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-21 17:10:35 +00:00
Ref: #7617 This series adds timeout parameters to service levels. Per-service-level timeouts can be set up in the form of service level parameters, which can in turn be attached to roles. Setting up and modifying role-specific timeouts can be achieved like this: ```cql CREATE SERVICE LEVEL sl2 WITH read_timeout = 500ms AND write_timeout = 200ms AND cas_timeout = 2s; ATTACH SERVICE LEVEL sl2 TO cassandra; ALTER SERVICE LEVEL sl2 WITH write_timeout = null; ``` Per-service-level timeouts take precedence over default timeout values from scylla.yaml, but can still be overridden for a specific query by per-query timeouts (e.g. `SELECT * from t USING TIMEOUT 50ms`). Closes #7913 * github.com:scylladb/scylla: docs: add a paragraph describing service level timeouts test: add per-service-level timeout tests test: add refreshing client state transport: add updating per-service-level params client_state: allow updating per service level params qos: allow returning combined service level options qos: add a way of merging service level options cql3: add preserving default values for per-sl timeouts qos: make getting service level public qos: make finding service level public treewide: remove service level controller from query state treewide: propagate service level to client state sstables: disambiguate boost::find cql3: add a timeout column to LIST SERVICE LEVEL statement db: add extracting service level info via CQL types: add a missing translation for cql_duration cql3: allow unsetting service level timeouts cql3: add validating service level timeout values db: add setting service level params via system_distributed cql3: add fetching service level attrs in ALTER and CREATE cql3: add timeout to service level params qos: add timeout to service level info db,sys_dist_ks: add timeout to the service level table migration_manager: allow table updates with timestamp cql3: allow a null keyword for CQL properties