-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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: explicit zone configuration for the timeseries range on a new cluster #123762
Comments
@andrewbaptist @rafiss @nvanbenschoten and I discussed this internally, and came to the conclusion that adding an explicit entry to @rafiss had a great suggestion on how we might be able to address the intention of this issue without making a backwards incompatible change. Instead of copying over Another alternative would be to always include an entry for all named zones in the output for Extending the above, one could also imagine making a distinction between |
128032: Reapply "bootstrap: create an explicit zoneconfig for timeseries data" r=rafiss a=rafiss This partially reverts commit f9d47ce. This time, rather than copying over the full zone config for the default range to the timeseries range, we only copy over gc.ttlseconds. This means that other attributes, most notably the replication factor, will be inherited from the default range. This will make it more clear that the timeseries zone config can be changed independently from all the other zone configs. fixes #123762 Release note (ops change): New clusters that are initialized for the first time will now have a zone config defined for the `timeseries` range. This zone config only specifies the gc.ttlseconds, so all the other attributes are inherited from the zone config of the `default` range, as they were before. Clusters that are upgraded to v24.3 from a previous version will also have this zone configuration applied to the timeseries range, as long as that range does not already have a zone config. 128987: sql/sem/tree: remove duplicate `tree.NewDOidWithName` function r=mgartner a=mgartner The `tree.NewDOidWithName` function has been removed. All previous callers now use `tree.NewDOidWithTypeAndName` which is exactly the same. Epic: None Release note: None 129053: sql/parser: only retain scanned SQL comments when necessary r=mgartner a=mgartner In #86968 the scanner gained the ability to retain comments in scanned SQL strings, and this was an always-on feature. However, the comments are only used when populating the crdb_internal.cluster_queries table, see `sql.formatActiveQuery`. Now, comments are only retained when the parser is used from this function, reducing allocations for all other cases. Fixes #127713 Release note: None Co-authored-by: Rafi Shamim <rafi@cockroachlabs.com> Co-authored-by: Marcus Gartner <marcus@cockroachlabs.com>
Is your feature request related to a problem? Please describe.
When a cluster is created, we create a zone configuration for the default zone as well as for most of the "special" ranges that are documented here: https://www.cockroachlabs.com/docs/v23.2/configure-replication-zones#create-a-replication-zone-for-a-system-range. The only system range we don't explicitly create a zone config for is the
timeseries
range.After a test cluster is created, it has the following configurations defined:
Note that the 3 ranges for
meta
,system
, andliveness
have explicit zone configs, buttimeseries
doesn't`.Describe the solution you'd like
On a system creation, we should create an explicit
timeseries
zone config that exactly matches theRANGE default
zone config. This would prevent confusion and allow users to make the right decisions on what RF they want. Otherwise users who don't carefully read the documentation are not likely to consider this range.Describe alternatives you've considered
system
configuration if there isn't a more explicit one set.Additional context
In a test cluster where all the "visible" zone configurations were set with RF=5 and two nodes were brought down, we had a LoQ event for some of the timeseries ranges. This was confusing to debug since it required figuring out that the timeseries range was not included.
Jira issue: CRDB-38531
Epic CRDB-40419
The text was updated successfully, but these errors were encountered: