[
https://issues.apache.org/jira/browse/SPARK-50749?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Utkarsh Agarwal updated SPARK-50749:
------------------------------------
Description:
SPARK-49977 introduced a bug in the `CommutativeExpression.gatherCommutative()`
method, changing the function's output order.
Consider the following concrete example:
```
val addExpression = Add(
Literal(1),
Add(
Literal(2),
Literal(3)
)
)
val commutativeExpressions = addExpression.gatherCommutative(addExpression,
\{ case Add(l, r, _) => Seq(l, r)})
```
Consider the output of the `gatherCommutative` method. SPARK-49977 introduced a
bug that reversed the output order. This PR fixes the bug in
`gatherCommutative()` to restore the original correct ordered output.
```
// Prior to SPARK-49977 and after this fix
// commutativeExpressions -> Seq(Literal(1), Literal(2), Literal(3)))
// Post SPARK-49977 and before this fix
// commutativeExpressions -> Seq(Literal(3), Literal(2), Literal(1)))
```
was:
[SPARK-49977](https://issues.apache.org/jira/browse/SPARK-49977) introduced a
bug in the `CommutativeExpression.gatherCommutative()` method, changing the
function's output order.
Consider the following concrete example:
```
val addExpression = Add(
Literal(1),
Add(
Literal(2),
Literal(3)
)
)
val commutativeExpressions = addExpression.gatherCommutative(addExpression,
\{ case Add(l, r, _) => Seq(l, r)})
```
Consider the output of the `gatherCommutative` method.
[SPARK-49977](https://issues.apache.org/jira/browse/SPARK-49977) introduced a
bug that reversed the output order. This PR fixes the bug in
`gatherCommutative()` to restore the original correct ordered output.
```
// Prior to SPARK-49977 and after this fix
// commutativeExpressions -> Seq(Literal(1), Literal(2), Literal(3)))
// Post SPARK-49977 and before this fix
// commutativeExpressions -> Seq(Literal(3), Literal(2), Literal(1)))
```
> Fix ordering bug in CommutativeExpression.gatherCommutative method
> ------------------------------------------------------------------
>
> Key: SPARK-50749
> URL: https://issues.apache.org/jira/browse/SPARK-50749
> Project: Spark
> Issue Type: Bug
> Components: Optimizer
> Affects Versions: 4.0.0
> Reporter: Utkarsh Agarwal
> Priority: Major
>
> SPARK-49977 introduced a bug in the
> `CommutativeExpression.gatherCommutative()` method, changing the function's
> output order.
> Consider the following concrete example:
> ```
> val addExpression = Add(
> Literal(1),
> Add(
> Literal(2),
> Literal(3)
> )
> )
> val commutativeExpressions =
> addExpression.gatherCommutative(addExpression,
> \{ case Add(l, r, _) => Seq(l, r)})
> ```
> Consider the output of the `gatherCommutative` method. SPARK-49977 introduced
> a bug that reversed the output order. This PR fixes the bug in
> `gatherCommutative()` to restore the original correct ordered output.
> ```
> // Prior to SPARK-49977 and after this fix
> // commutativeExpressions -> Seq(Literal(1), Literal(2), Literal(3)))
> // Post SPARK-49977 and before this fix
> // commutativeExpressions -> Seq(Literal(3), Literal(2), Literal(1)))
> ```
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]