[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user dongjoon-hyun commented on the issue: https://github.com/apache/spark/pull/19193 Thank you, @aokolnychyi . :) --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user aokolnychyi commented on the issue: https://github.com/apache/spark/pull/19193 Hi @dongjoon-hyun. Yep, I'll close this one. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user dongjoon-hyun commented on the issue: https://github.com/apache/spark/pull/19193 Hi, @aokolnychyi . https://github.com/apache/spark/pull/21580 is merged. Do we have something to do more? Or can we close this? --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user cloud-fan commented on the issue: https://github.com/apache/spark/pull/19193 For 1), yes let's forbid it. For 2), My feeling is, in `Dataset` API we don't need `having` because it's easy to change the order of the operator, users can call `filter` first then `agg`. While in SQL you will need subquery so `having` is convenient. For `df.groupBy('a).agg(max('b), rank().over(window)).where(sum('b) === 5)`, I think it's valid to fail, as Spark is not smart enough to rewrite your query and make it work. If we can find a way to rewrite and fix the query, we can support it. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user aokolnychyi commented on the issue: https://github.com/apache/spark/pull/19193 @cloud-fan @hvanhovell I created PR #21473 that fixes StackOverflow. Apart from that, I think we might have other potential problems. **1. Window functions inside WHERE and HAVING** Why such cases should be prohibited is described [here](https://stackoverflow.com/questions/13997177/why-no-windowed-functions-in-where-clauses). Spark, on the other hand, does not handle this explicitly and will fail with non-descriptive exceptions. ``` val df = Seq((1, 2), (1, 3), (2, 4), (5, 5)).toDF("a", "b") df.createTempView("t1") spark.sql("SELECT t1.a FROM t1 WHERE RANK() OVER(ORDER BY t1.b) = 1").explain(true) spark.sql("SELECT t1.a FROM t1 WHERE RANK() OVER(ORDER BY t1.b) = 1").show(false) Exception in thread "main" java.lang.UnsupportedOperationException: Cannot evaluate expression: rank(input[1, int, false]) windowspecdefinition(input[1, int, false] ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) at org.apache.spark.sql.catalyst.expressions.Unevaluable$class.doGenCode(Expression.scala:261) at org.apache.spark.sql.catalyst.expressions.WindowExpression.doGenCode(windowExpressions.scala:278) at org.apache.spark.sql.catalyst.expressions.Expression$$anonfun$genCode$2.apply(Expression.scala:108) at org.apache.spark.sql.catalyst.expressions.Expression$$anonfun$genCode$2.apply(Expression.scala:105) at scala.Option.getOrElse(Option.scala:121) ... ``` ``` val df = Seq((1, 2), (1, 3), (2, 4), (5, 5)).toDF("a", "b") df.createTempView("t1") spark.sql("SELECT t1.a, MAX(t1.b) FROM t1 GROUP BY t1.a HAVING RANK() OVER(ORDER BY t1.a) = 1").explain(true) spark.sql("SELECT t1.a, MAX(t1.b) FROM t1 GROUP BY t1.a HAVING RANK() OVER(ORDER BY t1.a) = 1").show(false) Exception in thread "main" java.lang.UnsupportedOperationException: Cannot evaluate expression: rank(input[1, int, false]) windowspecdefinition(input[1, int, false] ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) at org.apache.spark.sql.catalyst.expressions.Unevaluable$class.doGenCode(Expression.scala:261) at org.apache.spark.sql.catalyst.expressions.WindowExpression.doGenCode(windowExpressions.scala:278) at org.apache.spark.sql.catalyst.expressions.Expression$$anonfun$genCode$2.apply(Expression.scala:108) at org.apache.spark.sql.catalyst.expressions.Expression$$anonfun$genCode$2.apply(Expression.scala:105) at scala.Option.getOrElse(Option.scala:121) ``` Shall this be explicitly validated? **2. HAVING clause using the Dataset API** It seems we cannot use HAVING with aggregate functions in the Dataset API if you have a window function in the same query. The following query works correctly as ``ResolveAggregateFunctions`` will apply once you have the complete plan. I.e., ``ResolveAggregateFunctions`` will apply when you call ``where``. ``` val df = Seq((1, 2), (1, 3), (2, 4), (5, 5)).toDF("a", "b") df.groupBy('a).agg(max('b)).where(sum('b) === 5).show(false) +---+--+ |a |max(b)| +---+--+ |1 |3 | |5 |5 | +---+--+ ``` The query below, however, will fail even though it is a valid one (notice window functions). ``` val df = Seq((1, 2), (1, 3), (2, 4), (5, 5)).toDF("a", "b") df.groupBy('a).agg(max('b), rank().over(window)).where(sum('b) === 5).show(false) Exception in thread "main" org.apache.spark.sql.AnalysisException: cannot resolve '`b`' given input columns: [a, max(b), RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$())];; 'Filter (sum('b) = 5) +- AnalysisBarrier +- Project [a#5, max(b)#14, RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$())#15] +- Project [a#5, max(b)#14, RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$())#15, RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$())#15] +- Window [rank(a#5) windowspecdefinition(a#5 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$())#15], [a#5 ASC NULLS FIRST] +- Aggregate [a#5], [a#5, max(b#6) AS max(b)#14] +- Project [_1#2 AS a#5, _2#3 AS b#6] +- LocalRelation [_1#2, _2#3] ``` It fails because ``ExtractWindowExpressions`` will apply when you call ``agg`` and not ``where``. At that point of time, you do not have the full plan and ``ExtractWindowExpressions`` will not use the correct case. The same query will work with SQL. ``` val df = Seq((1, 2), (1, 3), (2, 4), (5, 5)).toDF("a", "b") df.createTempView("t1")
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user cloud-fan commented on the issue: https://github.com/apache/spark/pull/19193 How about we leave this PR open and create another PR to prohibit nested window function? Let's fix the stack overflow bug first and then decide if we want to officially support this feature. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user aokolnychyi commented on the issue: https://github.com/apache/spark/pull/19193 @hvanhovell @cloud-fan I think it would be safer to be consistent with other databases and what Spark does for nested aggregate functions. It is really simple to write a subquery to work around any problems. As it is right now, Scenario 2 mentioned above gives a wrong result and Scenario 4 should be double-checked if we want to support nested window functions. Let me known your opinion. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user hvanhovell commented on the issue: https://github.com/apache/spark/pull/19193 @cloud-fan and @aokolnychyi I am ok with supporting this, especially since most of the work is already done. WDYT? --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user aokolnychyi commented on the issue: https://github.com/apache/spark/pull/19193 I checked PostgreSQL(10.3), MySQL(8.0), Hive(2.1.0). **1. PostgreSQL** ``` postgres=# CREATE TABLE t1 (c1 integer, c2 integer); postgres=# INSERT INTO t1 VALUES (1, 2), (1, 3), (2,4), (5,5); postgres=# SELECT c1, c2, ROW_NUMBER() OVER() as c3 FROM t1; c1 | c2 | c3 ++ 1 | 2 | 1 1 | 3 | 2 2 | 4 | 3 5 | 5 | 4 (4 rows) postgres=# SELECT c1, MAX(ROW_NUMBER() OVER()) as c3 FROM t1; ERROR: aggregate function calls cannot contain window function calls LINE 1: SELECT c1, MAX(ROW_NUMBER() OVER()) as c3 FROM t1; ``` **2. MySQL** ``` mysql> CREATE TABLE t1 (c1 integer, c2 integer); mysql> INSERT INTO t1 VALUES (1, 2), (1, 3), (2,4), (5,5); mysql> SELECT c1, c2, ROW_NUMBER() OVER() FROM t1; +--+--+-+ | c1 | c2 | ROW_NUMBER() OVER() | +--+--+-+ |1 |2 | 1 | |1 |3 | 2 | |2 |4 | 3 | |5 |5 | 4 | +--+--+-+ 4 rows in set (0.00 sec) mysql> SELECT c1, MAX(ROW_NUMBER() OVER()) as c3 FROM t1; ERROR 3593 (HY000): You cannot use the window function 'row_number' in this context.' ``` **3. Hive** ``` hive> CREATE TABLE t1(c1 INT, c2 INT); hive> INSERT INTO t1 VALUES (1, 2), (1, 3), (2,4), (5,5); hive> SELECT c1, c2, ROW_NUMBER() OVER() as c3 FROM t1; OK 5 5 1 2 4 2 1 3 3 1 2 4 hive> SELECT c1, MAX(ROW_NUMBER() OVER()) as c3 FROM t1; FAILED: SemanticException [Error 10002]: Line 1:15 Invalid column reference 'ROW_NUMBER': (possible column names are: c1, c2) ``` I will adapt the PR to prohibit window functions inside aggregates. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user aokolnychyi commented on the issue: https://github.com/apache/spark/pull/19193 Let me check other databases and come up with a summary. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user cloud-fan commented on the issue: https://github.com/apache/spark/pull/19193 I feel it's much simpler to just prohibit this case, as we don't allow nested aggregate function. Users can always use subquery to work around it. Do other databases support window function inside aggregate function? If it's a standard then we should follow. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user AmplabJenkins commented on the issue: https://github.com/apache/spark/pull/19193 Test PASSed. Refer to this link for build results (access rights to CI server needed): https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88910/ Test PASSed. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user AmplabJenkins commented on the issue: https://github.com/apache/spark/pull/19193 Merged build finished. Test PASSed. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user SparkQA commented on the issue: https://github.com/apache/spark/pull/19193 **[Test build #88910 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/88910/testReport)** for PR 19193 at commit [`cb19ad6`](https://github.com/apache/spark/commit/cb19ad614b7b757b71e6995aa0c5d8295d8f2485). * This patch passes all tests. * This patch merges cleanly. * This patch adds no public classes. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user SparkQA commented on the issue: https://github.com/apache/spark/pull/19193 **[Test build #88910 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/88910/testReport)** for PR 19193 at commit [`cb19ad6`](https://github.com/apache/spark/commit/cb19ad614b7b757b71e6995aa0c5d8295d8f2485). --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user aokolnychyi commented on the issue: https://github.com/apache/spark/pull/19193 @hvanhovell here is a summary of tried scenarios: ``` val df = Seq((1, 2), (1, 3), (2, 4), (5, 5)).toDF("a", "b") val window1 = Window.orderBy('a) val window2 = Window.orderBy('a.desc) ``` **Scenario 1: An aggregate on top of a window expression (did not work before, looks OK now)** ``` df.groupBy().agg(max(rank().over(window1))).explain(true) df.groupBy().agg(max(rank().over(window1))).show(false) == Analyzed Logical Plan == max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$())): int Aggregate [max(_we0#27) AS max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$()))#16] +- Project [a#5, b#6, _we0#27, _we0#27] +- Window [rank(a#5) windowspecdefinition(a#5 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _we0#27], [a#5 ASC NULLS FIRST] +- Project [_1#2 AS a#5, _2#3 AS b#6] +- LocalRelation [_1#2, _2#3] == Optimized Logical Plan == Aggregate [max(_we0#27) AS max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$()))#16] +- Project [_we0#27, _we0#27] +- Window [rank(a#5) windowspecdefinition(a#5 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _we0#27], [a#5 ASC NULLS FIRST] +- LocalRelation [a#5] +-+ |max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$()))| +-+ |4| +-+ ``` **Scenario 2: An aggregate with grouping expressions on top of a window expression** TODO: Is the result wrong? What is expected? ``` df.groupBy('a).agg(max(rank().over(window1))).explain(true) df.groupBy('a).agg(max(rank().over(window1))).show(false) == Analyzed Logical Plan == a: int, max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$())): int Aggregate [a#5], [a#5, max(_we0#75) AS max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$()))#63] +- Project [a#5, b#6, _we0#75, _we0#75] +- Window [rank(a#5) windowspecdefinition(a#5 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _we0#75], [a#5 ASC NULLS FIRST] +- Project [_1#2 AS a#5, _2#3 AS b#6] +- LocalRelation [_1#2, _2#3] == Optimized Logical Plan == Aggregate [a#5], [a#5, max(_we0#75) AS max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$()))#63] +- Project [a#5, _we0#75, _we0#75] +- Window [rank(a#5) windowspecdefinition(a#5 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _we0#75], [a#5 ASC NULLS FIRST] +- LocalRelation [a#5] +---+-+ |a |max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$()))| +---+-+ |1 |1| |2 |3| |5 |4| +---+-+ ``` **Scenario 3: A normal aggregate, an aggregate on top of a window expression, a window expression on top of an aggregate in one query** This is resolved in two steps. ``` df.groupBy('a).agg(max(rank().over(window1)), sum('b), sum(sum('b)).over(window2)).explain(true) df.groupBy('a).agg(max(rank().over(window1)), sum('b), sum(sum('b)).over(window2)).show(false) == Analyzed Logical Plan == a: int, max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$())): int, sum(b): bigint, sum(sum(b)) OVER (ORDER BY a DESC NULLS LAST unspecifiedframe$()): bigint Project [a#5, max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$()))#116, sum(b)#117L, sum(sum(b)) OVER (ORDER BY a DESC NULLS LAST unspecifiedframe$())#118L] +- Project [a#5, max(RANK() OVER (ORDER BY a ASC NULLS FIRST unspecifiedframe$()))#116, sum(b)#117L, _w0#137L, sum(sum(b)) OVER (ORDER BY a DESC NULLS LAST unspecifiedframe$())#118L, sum(sum(b)) OVER (ORDER BY a DESC NULLS LAST unspecifiedframe$())#118L] +- Window [sum(_w0#137L) windowspecdefinition(a#5 DESC NULLS LAST, specifiedwindowframe(RangeFrame, unboundedpreceding$(), currentrow$())) AS sum(sum(b)) OVER (ORDER BY a DESC NULLS LAST unspecifiedframe$())#118L], [a#5 DESC NULLS LAST] +- Aggregate [a#5], [a#5, max(_we0#133) AS max(RANK() OVER (ORDER BY a ASC NULLS FIRST u
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user cloud-fan commented on the issue: https://github.com/apache/spark/pull/19193 cc @hvanhovell --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user AmplabJenkins commented on the issue: https://github.com/apache/spark/pull/19193 Merged build finished. Test PASSed. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user AmplabJenkins commented on the issue: https://github.com/apache/spark/pull/19193 Test PASSed. Refer to this link for build results (access rights to CI server needed): https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/84655/ Test PASSed. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user SparkQA commented on the issue: https://github.com/apache/spark/pull/19193 **[Test build #84655 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/84655/testReport)** for PR 19193 at commit [`cb19ad6`](https://github.com/apache/spark/commit/cb19ad614b7b757b71e6995aa0c5d8295d8f2485). * This patch passes all tests. * This patch merges cleanly. * This patch adds no public classes. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user aokolnychyi commented on the issue: https://github.com/apache/spark/pull/19193 @gatorsmile @cloud-fan could you provide any input? --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user SparkQA commented on the issue: https://github.com/apache/spark/pull/19193 **[Test build #84655 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/84655/testReport)** for PR 19193 at commit [`cb19ad6`](https://github.com/apache/spark/commit/cb19ad614b7b757b71e6995aa0c5d8295d8f2485). --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user AmplabJenkins commented on the issue: https://github.com/apache/spark/pull/19193 Merged build finished. Test FAILed. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user AmplabJenkins commented on the issue: https://github.com/apache/spark/pull/19193 Test FAILed. Refer to this link for build results (access rights to CI server needed): https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/81644/ Test FAILed. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user SparkQA commented on the issue: https://github.com/apache/spark/pull/19193 **[Test build #81644 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/81644/testReport)** for PR 19193 at commit [`c14aa2f`](https://github.com/apache/spark/commit/c14aa2ff6161de7d45869d91e53b0b25b18ad2dd). * This patch **fails Spark unit tests**. * This patch merges cleanly. * This patch adds no public classes. --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org
[GitHub] spark issue #19193: [WIP][SPARK-21896][SQL] Fix Stack Overflow when window f...
Github user SparkQA commented on the issue: https://github.com/apache/spark/pull/19193 **[Test build #81644 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/81644/testReport)** for PR 19193 at commit [`c14aa2f`](https://github.com/apache/spark/commit/c14aa2ff6161de7d45869d91e53b0b25b18ad2dd). --- - To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org