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

[Replicated] release-23.1: schemachanger: add PartitionName to IndexZoneConfig attr #83

Closed
wants to merge 1 commit into from

Conversation

mohini-crl
Copy link
Owner

Replicated from original PR cockroachdb#134524

Original author: annrpom
Original creation date: 2024-11-07T15:40:12Z

Original reviewers: rafiss

Original description:

This patch adds a PartitionName attribute to the IndexZoneConfig element to uniquely identify partitions from one another. Prior to this, hitting a certain DROP path on a table with more than 1 partition on an index would panic with an undropped backref error due to our inability to distinguish these partitions from eachother.

Our code to drop these partition elements would always refer to the top-most partition element in the descsCache's elementIndexMap -- as the key to identify partition1 from partition2 was the same. So, partition1 would be marked toAbsent "twice"; while partition2 got ignored </3.

Another thing to note is that this bug is not just met for partitioned tables of the nature mentioned above -- as the builderState's descriptor cache would need to be unchanged between each partition's drop.

Epic: none
Fixes: cockroachdb#131862

Release note (bug fix): Addressed a bug with DROP CASCADE that would occasionally panic with an undropped backref message on partitioned tables.


Release justification: low-risk bug fix

This patch adds a `PartitionName` attribute to the `IndexZoneConfig`
element to uniquely identify partitions from one another. Prior to this,
hitting a certain DROP path on a table with more than 1 partition on an
index would panic with an undropped backref error due to our inability
to distinguish these partitions from eachother.

Our code to drop these partition elements would always refer to the
top-most partition element in the descsCache's `elementIndexMap`
-- as the key to identify partition1 from partition2 was the same. So,
partition1 would be marked `toAbsent` "twice"; while partition2 got
ignored </3.

Another thing to note is that this bug is not just met for partitioned
tables of the nature mentioned above -- as the `builderState`'s descriptor
cache would need to be unchanged between each partition's drop.

Epic: none
Fixes: cockroachdb#131862

Release note (bug fix): Addressed a bug with DROP CASCADE that would
occasionally panic with an undropped backref message on partitioned
tables.

---

Release justification: low-risk bug fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants