Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sql, config: improve cascade zone config ux #36129

Closed
awoods187 opened this issue Mar 25, 2019 · 3 comments
Closed

sql, config: improve cascade zone config ux #36129

awoods187 opened this issue Mar 25, 2019 · 3 comments
Labels
A-kv-client Relating to the KV client and the KV interface. C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) S-3-ux-surprise Issue leaves users wondering whether CRDB is behaving properly. Likely to hurt reputation/adoption. X-stale

Comments

@awoods187
Copy link
Contributor

@jseldess and I tested out #30611 today.

image

It's a bit confusing that you cannot distinguish directly between hard coded entries and entries that cascade from their parent. For example, test2.public.t1 doesn't display a value for num_replicas. If we consider the #replicas chart, we can count that it is six like it's parent test2. We should show something like num_replicas=default or num_replicas=test2 num_replicas or in some way show the user what the value is as well as distinguish for the user that it's a cascaded value and not a hard coded entry.

@awoods187 awoods187 added C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) S-3-ux-surprise Issue leaves users wondering whether CRDB is behaving properly. Likely to hurt reputation/adoption. A-kv-client Relating to the KV client and the KV interface. labels Mar 25, 2019
@awoods187
Copy link
Contributor Author

Related to #28901

@awoods187
Copy link
Contributor Author

We should also considering adding a warning denoting that set values won't cascade based upon default

@vilterp
Copy link
Contributor

vilterp commented Mar 29, 2019

I've thought a bit about how to show this on the data dist. page (the same ideas can be applied to the CLI as well). This is a similar problem to what frontend devs face when understanding the relationship between their CSS and their HTML. In both, there's:

  • A tree (In DB: schema objects. In browser: HTML DOM nodes)
  • A set of rules, each of which matches a set of tree nodes and applies properties to it (DB: zone configs. Browser: CSS rules)

The data dist. page currently shows those the tree and the set of rules. What it lacks is an indication of the mapping between them. To explore this mapping, we need a UI which allows the user to answer a few questions:

  • For a given node in the schema tree (e.g. a database, a table, a partition):
    • for each property (e.g. num_replicas, gc_ttl)
      • what is the property's value? (e.g. 3 replicas, 24 hours)
      • which zone config assigned it that value?
      • which other zone configs were overridden by that zone config?
  • (optionally) For a given zone config:
    • Which nodes does it apply to?
    • Which other nodes override it?

Chrome devtools solves the first set of questions (going from node to set of rules), but not the second. In Chrome devtools, you can click on a node in the DOM inspector, and use the "computed style" pane to see the CSS rule that each property is coming from, and which other ones it overrode. I think something similar would be appropriate here, but it needs design… cc @piyush-singh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-kv-client Relating to the KV client and the KV interface. C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) S-3-ux-surprise Issue leaves users wondering whether CRDB is behaving properly. Likely to hurt reputation/adoption. X-stale
Projects
None yet
Development

No branches or pull requests

3 participants