cockroachdb / cockroachdb/cockroach
crosscluster/physical: reconsider UX around adopting PCR reader tenant personas
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
To run PCR, there are **4** (yeesh) high level user personas:
- PCR Job manager -> connects to destination system tenant, with MANAGEVIRTUALCLUSTER and REPLCIATIONDEST privs
- Source Side Job Manager - > connects to source system tenant, with MANAGEVIRTUALCLUSTER and REPLICACTIONSOURCE privs.
- Standby Workload Reader -> connects to reader tenant, runs the read only workload. Queries are read only, and run at a historical timestamp.
- Standby Workload Manager -> connect to reader tenant: configures cluster settings, can do other stuff with system tables.
While we have a clear UX for the first 2 personas, based on adopting system privileges, we don't for the ladder two. Currently, if a user connects to the reader tenant, they default into the Reader persona. To manage the workload (e.g. set a cluster setting in the reader keyspace), the user must set the undocumented `bypass_pcr_reader_catalog_aost` session variable to true.
We should resolve the following open questions:
- Is setting this strange session var the right UX that a user should take to set cluster settings, pause/resume jobs on the reader tenant?
- Since the workload manager can write and can read at non-historical timestamps, we should ensure that the manager is unable to query external data, right?
- Should a workload reader be able to run read queries on non external tables (e.g. system tables)? Those queries don't need to be historical, right?
Jira issue: CRDB-52744
Epic: [CRDB-52290](https://cockroachlabs.atlassian.net/browse/CRDB-52290)
Epic CRDB-52290
Contributor guide
Assessment
This issue has not been assessed yet.