-
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
config: propagate zone config info for non-gossiped system tables #39638
config: propagate zone config info for non-gossiped system tables #39638
Conversation
I'm happy to write an end-to-end test too if the reviewer would like it. I did verify manually that this change propagates MaxRangeBytes. |
31417e6
to
1584c0e
Compare
This still breaks some tests, let me fix them and I'll let you know when it's RFAL. |
52e1329
to
7a33e5e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, figured it out. I needed to make sure to translate pseudo-table ids into the system database ID. RFAL.
Reviewable status: complete! 0 of 0 LGTMs obtained (waiting on @nvanbenschoten)
Before this PR we would allow setting zone configurations on system tables but they would not propagate because the GetZoneConfig function would return the zone config for the entire system database. This leaves us in a still weird situation where some system tables will ignore their zone configs but not others. Fixes cockroachdb#39605. Release note (bug fix): Propagate zone configuration to non-gossiped system tables.
7a33e5e
to
ea56965
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 4 of 4 files at r1.
Reviewable status: complete! 1 of 0 LGTMs obtained
bors r=nvanbenschoten |
39638: config: propagate zone config info for non-gossiped system tables r=nvanbenschoten a=ajwerner Before this PR we would allow setting zone configurations on system tables but they would not propagate because the GetZoneConfig function would return the zone config for the entire system database. This leaves us in a still weird situation where some system tables will ignore their zone configs but not others. Fixes #39605. Release note (bug fix): Propagate zone configuration to non-gossiped system tables. Co-authored-by: Andrew Werner <ajwerner@cockroachlabs.com>
Build succeeded |
The PublicSchemaID was introduced during the work for temp tables and the associated migration of the namespace table. The chosen constantly was erroneously put into the `PseudoTableIDs` which is used to create split points and control zone configs for low-level constructs like meta ranges, liveness range, timeseries, etc. This commit also fixed non-sense I introduced in cockroachdb#39638 while trying to enable real system tables to have their own zone configs (as opposed to just being controlled by the system zone config). All of the pseudo-table ids had corresponding filters below. This change should get backported as far back as 19.1. Release note (bug fix): Fix bug where an extra split was created in the keyspace which does not correspond to user data.
…o IDs The PublicSchemaID was introduced during the work for temp tables and the associated migration of the namespace table. The chosen constantly was erroneously put into the PseudoTableIDs which is used to create split points and control zone configs for low-level constructs like meta ranges, liveness range, timeseries, etc. This commit also fixed non-sense I introduced in cockroachdb#39638 while trying to enable real system tables to have their own zone configs (as opposed to just being controlled by the system zone config). All of the pseudo-table ids had corresponding filters below. This change should get backported as far back as 19.1. Release note (bug fix): Fix bug where an extra split was created in the keyspace which does not correspond to user data which could lead to a report of an under-replicated range in mixed-version 19.2-20.1 clusters.
The PublicSchemaID was introduced during the work for temp tables and the associated migration of the namespace table. The chosen constantly was erroneously put into the PseudoTableIDs which is used to create split points and control zone configs for low-level constructs like meta ranges, liveness range, timeseries, etc. This commit also fixed non-sense I introduced in cockroachdb#39638 while trying to enable real system tables to have their own zone configs (as opposed to just being controlled by the system zone config). All of the pseudo-table ids had corresponding filters below. This change should get backported as far back as 19.1. Release note (bug fix): Fix bug where an extra split was created in the keyspace which does not correspond to user data that could appear to be under-replicated in mixed-version clusters due to conflicting default zone configrations.
Before this PR we would allow setting zone configurations on system tables but
they would not propagate because the GetZoneConfig function would return the
zone config for the entire system database. This leaves us in a still weird
situation where some system tables will ignore their zone configs but not
others.
Fixes #39605.
Release note (bug fix): Propagate zone configuration to non-gossiped system
tables.