cockroach icon indicating copy to clipboard operation
cockroach copied to clipboard

release-22.2: opt: include optional columns when remapping Project provided ordering

Open DrewKimball opened this issue 2 years ago • 3 comments

Backport 1/1 commits from #87888.

/cc @cockroachdb/release


This commit fixes a bug that was recently introduced in #86193 that can cause an internal panic when remapping an ordering from the input to the output of a Project operator. #86193 modified the logic to ensure that the remapping only refers to columns from the required ordering; however, it failed to add the optional columns to the allowed set of columns. This could cause a panic if the provided ordering contains columns from the optional set. This is fixed by adding the optional columns when remapping.

Fixes #87806

Release note: None (only on master)

Release justification: bug fix for bug introduced by a previous backport

DrewKimball avatar Sep 22 '22 17:09 DrewKimball

Thanks for opening a backport.

Please check the backport criteria before merging:

  • [x] Patches should only be created for serious issues or test-only changes.
  • [x] Patches should not break backwards-compatibility.
  • [x] Patches should change as little code as possible.
  • [x] Patches should not change on-disk formats or node communication protocols.
  • [x] Patches should not add new functionality.
  • [x] Patches must not add, edit, or otherwise modify cluster versions; or add version gates.
If some of the basic criteria cannot be satisfied, ensure that the exceptional criteria are satisfied within.
  • [ ] There is a high priority need for the functionality that cannot wait until the next release and is difficult to address in another way.
  • [ ] The new functionality is additive-only and only runs for clusters which have specifically “opted in” to it (e.g. by a cluster setting).
  • [ ] New code is protected by a conditional check that is trivial to verify and ensures that it only runs for opt-in clusters.
  • [ ] The PM and TL on the team that owns the changed code have signed off that the change obeys the above rules.

Add a brief release justification to the body of your PR to justify this backport.

Some other things to consider:

  • What did we do to ensure that a user that doesn’t know & care about this backport, has no idea that it happened?
  • Will this work in a cluster of mixed patch versions? Did we test that?
  • If a user upgrades a patch version, uses this feature, and then downgrades, what happens?

blathers-crl[bot] avatar Sep 22 '22 17:09 blathers-crl[bot]

This change is Reviewable

cockroach-teamcity avatar Sep 22 '22 17:09 cockroach-teamcity

Test failure is a flake.

DrewKimball avatar Sep 22 '22 18:09 DrewKimball

TFTR!

DrewKimball avatar Sep 23 '22 19:09 DrewKimball