atepg: Guardrail to disallow changes to atespace tables that limit future partitioning - #1467
Open
Joe Betz (jpbetz) wants to merge 2 commits into
Open
atepg: Guardrail to disallow changes to atespace tables that limit future partitioning#1467Joe Betz (jpbetz) wants to merge 2 commits into
Joe Betz (jpbetz) wants to merge 2 commits into
Conversation
Joe Betz (jpbetz)
force-pushed
the
steward/actors-partition-ready
branch
from
September 4, 2026 03:47
fedfd9e to
09ecf26
Compare
Benjamin Elder (BenTheElder)
requested a review
from Julian Gutierrez Oschmann (juli4n)
September 4, 2026 04:32
Collaborator
|
Jeremy Alvis (@iplay88keys) as well |
Joe Betz (jpbetz)
force-pushed
the
steward/actors-partition-ready
branch
from
September 4, 2026 22:29
09ecf26 to
808ac88
Compare
Benjamin Elder (BenTheElder)
previously approved these changes
Sep 4, 2026
Benjamin Elder (BenTheElder)
left a comment
Collaborator
There was a problem hiding this comment.
bandwidth is low today but I do want to keep rolling on this, I let fable 5.1 rip:
Joe Betz (jpbetz)
force-pushed
the
steward/actors-partition-ready
branch
from
September 4, 2026 23:41
e47fc3c to
4f00943
Compare
Contributor
Author
|
Thanks Benjamin Elder (@BenTheElder) (and thanks Fable 5.1). Feedback applied |
Benjamin Elder (BenTheElder)
previously approved these changes
Sep 4, 2026
Benjamin Elder (BenTheElder)
left a comment
Collaborator
There was a problem hiding this comment.
Thanks Joe!
…ioned by atespace or name
Derive the atespace-scoped tables from the catalog, so a new table with an atespace column is covered without editing the test, and fail when the contract suite never touches a partitioned table. The previous guard against a disconnected tracer was satisfied by a startup catalog query that names the actors table in a string literal, so it could not fire. The tag table, which replaced the snapshot tables, is covered this way, and its global list takes the snapshot list's place among the statements that span every partition by definition. Explain every execution of a statement rather than the first one per statement text. A NULL page token turns a one-partition scan into a scan of every partition, so call order decided the verdict. The round trips add about a tenth of a second per layout. Also check batched statements, explain WITH and MERGE statements instead of skipping them, and keep the lock out of the EXPLAIN round trip. Use nine partitions per table. A multi-valued predicate is only reported when its values land in different partitions, and a power-of-two modulus takes the low bits of the hash, which puts the suite's team-a and team-b in one partition for every modulus up to 32. Nine is the smallest that separates the atespace names the suite creates. A subtest pins that a lookup over team-a and team-b is reported. Every contract subtest truncates every partition, so this costs a few seconds. Correct the schema evolution guide: a query on actors must filter on name as well as atespace, which is what the by-name layout enforces.
Joe Betz (jpbetz)
force-pushed
the
steward/actors-partition-ready
branch
from
September 5, 2026 00:06
4f00943 to
ce519ee
Compare
Contributor
Author
|
Rebased to sync up with table rename |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds a test that serves as a guardrail to prevent changes to the atespace-scoped tables that would make it difficult or impossible to partition it in the future.
cc Bowei Du (@bowei) Benjamin Elder (@BenTheElder) Julian Gutierrez Oschmann (@juli4n) shrutiyam-glitch Tim Hockin (@thockin)