-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
88396: opt: fix node-crashing panics with correlated With exprs r=mgartner a=mgartner #### opt: prevent apply-join panics from crashing nodes Previously, it was possible for the execution of an apply-join to crash a node due to an uncaught optimizer panic when calling the `planRightSideFn` closure. This closure is invoked for every input row to the apply-join. It replaces variables in the expression on the right side of the join with constants using `Factory.CopyAndReplace`, which can panic. This panic won't be caught by the panic-catching logic in `Optimizer.Optimize` because the closure is invoked outside the context of `Optimizer.Optimize` - it's occurring during execution instead. This commit copies the panic-catching logic of `Optimizer.Optimize` to the apply-join's `planRightSideFn` closure to ensure that any panics are caught. Release Note (bug fix): A bug has been fixed that could cause nodes to crash in rare cases when executing apply-joins in query plans. #### opt: fix transitive references to With exprs in RHS of apply-join This commit fixes an error that could occur when the RHS of an apply-join referenced a With expression transitive through another With expression. The error occurred because the optimizer could not access the relational properties of the transitively referenced With expression because the With was not added to the metadata. The commit fixes the issue by adding all With expressions to the metadata if any With expressions are referenced. Fixes #87733 Release note (bug fix): A bug has been fixed that caused errors in rare cases when executing queries with correlated WITH expressions. This bug was present since correlated WITH expressions were introduced in v21.2.0. 88444: roachtest: use highmem instances for some tests r=tbg a=erikgrinaker **roachtest: add `HighMem` option** This patch adds a `HighMem` cluster spec option, which will use machine types with increased memory. There are no changes to existing machine types. Release note: None **roachtest: use highmem instances for some tests** The following tests have been seen to OOM occasionally. Since a root cause fix isn't planned for the near term, this serves to deflake the tests. * `tpccbench/nodes=9/cpu=4/multi-region` * `restore2TB/*` Resolves #87809. Release note: None Co-authored-by: Marcus Gartner <[email protected]> Co-authored-by: Erik Grinaker <[email protected]>
- Loading branch information
Showing
9 changed files
with
136 additions
and
27 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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