[Replicated] release-23.1: schemachanger: add PartitionName to IndexZoneConfig attr #93
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.
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 theIndexZoneConfig
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 markedtoAbsent
"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