-
Notifications
You must be signed in to change notification settings - Fork 4.1k
kvserver: admin functionality to manipulate KV data #66829
Copy link
Copy link
Closed
Labels
A-debug-automationIssues or feature requests for debug automationIssues or feature requests for debug automationA-kv-serverRelating to the KV-level RPC serverRelating to the KV-level RPC serverC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
Metadata
Metadata
Assignees
Labels
A-debug-automationIssues or feature requests for debug automationIssues or feature requests for debug automationA-kv-serverRelating to the KV-level RPC serverRelating to the KV-level RPC serverC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
It would be useful to have functionality to manipulate KV entries, e.g. to get rid of stale node status entries as seen in a recent customer escalation.
This should be implemented as an admin RPC endpoint or separate RPC service that is only available with node certs (i.e. not via gRPC gateway); we don't want this to be too easily accessible.
The endpoint should take an arbitrary gRPC
BatchRequestand pass it through a local sender stack (including at leastDistSenderbut probably alsoTxnCoordSender), effectively proxying the request for the caller. Transaction support is not necessary, using a single atomicBatchRequestwould be sufficient for most uses.The
cockroach debugCLI should at the very least take a Protobuf-encoded BatchRequest, but we may want additional tooling to generate this e.g. from JSON data or CLI command args/flags.