Add a per-request flag that restricts query execution to the local node by filtering out all non-local replicas. Standard consistency level (CL) rules still apply: if the local node alone cannot satisfy the requested CL, an exception is thrown. This flag is required for Paxos state access, where reads and writes must target only the local node. As a side effect, this also enables the implementation of scylladb/scylladb#16478, which proposes a CQL extension to expose 'local mode' query execution to users. Support for this flag in storage_proxy's read and write code paths will be added in follow-up commits.
21 lines
548 B
C++
21 lines
548 B
C++
/*
|
|
* Copyright (C) 2025-present ScyllaDB
|
|
*/
|
|
|
|
/*
|
|
* SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0
|
|
*/
|
|
#pragma once
|
|
|
|
#include <seastar/util/bool_class.hh>
|
|
#include "seastarx.hh"
|
|
|
|
namespace service {
|
|
class storage_proxy;
|
|
|
|
// Per-request flag that restricts query execution to the local node only
|
|
// by filtering out all non-local replicas. Standard consistency level rules apply:
|
|
// if the local node alone cannot satisfy the requested CL, an exception is thrown.
|
|
using node_local_only = bool_class<class node_local_only_tag>;
|
|
}
|