Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] qa_nightly_select_test failure in test_select #2217

Closed
jlowe opened this issue Apr 21, 2021 · 1 comment · Fixed by #2218
Closed

[BUG] qa_nightly_select_test failure in test_select #2217

jlowe opened this issue Apr 21, 2021 · 1 comment · Fixed by #2218
Assignees
Labels
bug Something isn't working

Comments

@jlowe
Copy link
Member

jlowe commented Apr 21, 2021

The nightly dev job failed in qa_nightly_select_test with this error log, looks like a missing match case

07:37:00  =================================== FAILURES ===================================
07:37:00  _______________ test_select[REGEXP_REPLACE(strF, 'Yu', 'Eric')] ________________
07:37:00  
07:37:00  sql_query_line = ("SELECT REGEXP_REPLACE(strF, 'Yu', 'Eric') FROM test_table", "REGEXP_REPLACE(strF, 'Yu', 'Eric')")
07:37:00  pytestconfig = <_pytest.config.Config object at 0x7f97c65924f0>
07:37:00  
07:37:00      @approximate_float
07:37:00      @incompat
07:37:00      @qarun
07:37:00      @pytest.mark.parametrize('sql_query_line', SELECT_SQL, ids=idfn)
07:37:00      def test_select(sql_query_line, pytestconfig):
07:37:00          sql_query = sql_query_line[0]
07:37:00          if sql_query:
07:37:00              print(sql_query)
07:37:00              with_cpu_session(num_stringDf)
07:37:00  >           assert_gpu_and_cpu_are_equal_collect(lambda spark: spark.sql(sql_query), conf=_qa_conf)
07:37:00  
07:37:00  src/main/python/qa_nightly_select_test.py:167: 
07:37:00  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
07:37:00  src/main/python/asserts.py:360: in assert_gpu_and_cpu_are_equal_collect
07:37:00      _assert_gpu_and_cpu_are_equal(func, 'COLLECT', conf=conf, is_cpu_first=is_cpu_first)
07:37:00  src/main/python/asserts.py:341: in _assert_gpu_and_cpu_are_equal
07:37:00      run_on_gpu()
07:37:00  src/main/python/asserts.py:334: in run_on_gpu
07:37:00      from_gpu = with_gpu_session(bring_back,
07:37:00  src/main/python/spark_session.py:95: in with_gpu_session
07:37:00      return with_spark_session(func, conf=copy)
07:37:00  src/main/python/spark_session.py:68: in with_spark_session
07:37:00      ret = func(_spark)
07:37:00  src/main/python/asserts.py:179: in <lambda>
07:37:00      bring_back = lambda spark: limit_func(spark).collect()
07:37:00  /home/jenkins/agent/workspace/rapids_integration-dev-github-311/jars/spark-3.1.1-bin-hadoop3.2/python/lib/pyspark.zip/pyspark/sql/dataframe.py:677: in collect
07:37:00      sock_info = self._jdf.collectToPython()
07:37:00  /home/jenkins/agent/workspace/rapids_integration-dev-github-311/jars/spark-3.1.1-bin-hadoop3.2/python/lib/py4j-0.10.9-src.zip/py4j/java_gateway.py:1304: in __call__
07:37:00      return_value = get_return_value(
07:37:00  /home/jenkins/agent/workspace/rapids_integration-dev-github-311/jars/spark-3.1.1-bin-hadoop3.2/python/lib/pyspark.zip/pyspark/sql/utils.py:111: in deco
07:37:00      return f(*a, **kw)
07:37:00  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
07:37:00  
07:37:00  answer = 'xro675276'
07:37:00  gateway_client = <py4j.java_gateway.GatewayClient object at 0x7f97c5baa790>
07:37:00  target_id = 'o675275', name = 'collectToPython'
07:37:00  
07:37:00      def get_return_value(answer, gateway_client, target_id=None, name=None):
07:37:00          """Converts an answer received from the Java gateway into a Python object.
07:37:00      
07:37:00          For example, string representation of integers are converted to Python
07:37:00          integer, string representation of objects are converted to JavaObject
07:37:00          instances, etc.
07:37:00      
07:37:00          :param answer: the string returned by the Java gateway
07:37:00          :param gateway_client: the gateway client used to communicate with the Java
07:37:00              Gateway. Only necessary if the answer is a reference (e.g., object,
07:37:00              list, map)
07:37:00          :param target_id: the name of the object from which the answer comes from
07:37:00              (e.g., *object1* in `object1.hello()`). Optional.
07:37:00          :param name: the name of the member from which the answer comes from
07:37:00              (e.g., *hello* in `object1.hello()`). Optional.
07:37:00          """
07:37:00          if is_error(answer)[0]:
07:37:00              if len(answer) > 1:
07:37:00                  type = answer[1]
07:37:00                  value = OUTPUT_CONVERTER[type](answer[2:], gateway_client)
07:37:00                  if answer[1] == REFERENCE_TYPE:
07:37:00  >                   raise Py4JJavaError(
07:37:00                          "An error occurred while calling {0}{1}{2}.\n".
07:37:00                          format(target_id, ".", name), value)
07:37:00  E                   py4j.protocol.Py4JJavaError: An error occurred while calling o675275.collectToPython.
07:37:00  E                   : scala.MatchError: List(strF#496130, Yu, Eric, 1) (of class scala.collection.immutable.$colon$colon)
07:37:00  E                   	at com.nvidia.spark.rapids.shims.spark311.Spark311Shims$$anon$4.convertToGpu(Spark311Shims.scala:194)
07:37:00  E                   	at com.nvidia.spark.rapids.shims.spark311.Spark311Shims$$anon$4.convertToGpu(Spark311Shims.scala:180)
07:37:00  E                   	at com.nvidia.spark.rapids.UnaryExprMeta.convertToGpu(RapidsMeta.scala:805)
07:37:00  E                   	at com.nvidia.spark.rapids.UnaryExprMeta.convertToGpu(RapidsMeta.scala:797)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides$$anon$152.$anonfun$convertToGpu$19(GpuOverrides.scala:2686)
07:37:00  E                   	at scala.collection.immutable.Stream.map(Stream.scala:418)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides$$anon$152.convertToGpu(GpuOverrides.scala:2686)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides$$anon$152.convertToGpu(GpuOverrides.scala:2683)
07:37:00  E                   	at com.nvidia.spark.rapids.SparkPlanMeta.convertIfNeeded(RapidsMeta.scala:642)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides.applyOverrides(GpuOverrides.scala:3050)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides.apply(GpuOverrides.scala:3012)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides.apply(GpuOverrides.scala:2998)
07:37:00  E                   	at org.apache.spark.sql.execution.ApplyColumnarRulesAndInsertTransitions.$anonfun$apply$1(Columnar.scala:532)
07:37:00  E                   	at org.apache.spark.sql.execution.ApplyColumnarRulesAndInsertTransitions.$anonfun$apply$1$adapted(Columnar.scala:531)
07:37:00  E                   	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
07:37:00  E                   	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
07:37:00  E                   	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
07:37:00  E                   	at org.apache.spark.sql.execution.ApplyColumnarRulesAndInsertTransitions.apply(Columnar.scala:531)
07:37:00  E                   	at org.apache.spark.sql.execution.ApplyColumnarRulesAndInsertTransitions.apply(Columnar.scala:495)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution$.$anonfun$prepareForExecution$1(QueryExecution.scala:372)
07:37:00  E                   	at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:126)
07:37:00  E                   	at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:122)
07:37:00  E                   	at scala.collection.immutable.List.foldLeft(List.scala:89)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution$.prepareForExecution(QueryExecution.scala:371)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.$anonfun$executedPlan$1(QueryExecution.scala:117)
07:37:00  E                   	at org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:111)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.$anonfun$executePhase$1(QueryExecution.scala:143)
07:37:00  E                   	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:772)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.executePhase(QueryExecution.scala:143)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.executedPlan$lzycompute(QueryExecution.scala:117)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.executedPlan(QueryExecution.scala:110)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.$anonfun$simpleString$2(QueryExecution.scala:161)
07:37:00  E                   	at org.apache.spark.sql.execution.ExplainUtils$.processPlan(ExplainUtils.scala:115)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.simpleString(QueryExecution.scala:161)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.org$apache$spark$sql$execution$QueryExecution$$explainString(QueryExecution.scala:206)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.explainString(QueryExecution.scala:175)
07:37:00  E                   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$5(SQLExecution.scala:98)
07:37:00  E                   	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:163)
07:37:00  E                   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:90)
07:37:00  E                   	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:772)
07:37:00  E                   	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:64)
07:37:00  E                   	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3685)
07:37:00  E                   	at org.apache.spark.sql.Dataset.collectToPython(Dataset.scala:3516)
07:37:00  E                   	at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
07:37:00  E                   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
07:37:00  E                   	at java.lang.reflect.Method.invoke(Method.java:498)
07:37:00  E                   	at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
07:37:00  E                   	at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
07:37:00  E                   	at py4j.Gateway.invoke(Gateway.java:282)
07:37:00  E                   	at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
07:37:00  E                   	at py4j.commands.CallCommand.execute(CallCommand.java:79)
07:37:00  E                   	at py4j.GatewayConnection.run(GatewayConnection.java:238)
07:37:00  E                   	at java.lang.Thread.run(Thread.java:748)
07:37:00  
07:37:00  /home/jenkins/agent/workspace/rapids_integration-dev-github-311/jars/spark-3.1.1-bin-hadoop3.2/python/lib/py4j-0.10.9-src.zip/py4j/protocol.py:326: Py4JJavaError
07:37:00  ----------------------------- Captured stdout call -----------------------------
07:37:00  SELECT REGEXP_REPLACE(strF, 'Yu', 'Eric') FROM test_table
07:37:00  ### CREATE DATAFRAME 1  ####
07:37:00  1990-01-01
07:37:00  ### CPU RUN ###
07:37:00  ### GPU RUN ###
07:37:00  _______________________________ test_re_replace ________________________________
07:37:00  
07:37:00      def test_re_replace():
07:37:00          gen = mk_str_gen('.{0,5}TEST[\ud720 A]{0,5}')
07:37:00  >       assert_gpu_and_cpu_are_equal_collect(
07:37:00                  lambda spark: unary_op_df(spark, gen).selectExpr(
07:37:00                      'REGEXP_REPLACE(a, "TEST", "PROD")',
07:37:00                      'REGEXP_REPLACE(a, "TEST", "")',
07:37:00                      'REGEXP_REPLACE(a, "TEST", "%^[]\ud720")',
07:37:00                      'REGEXP_REPLACE(a, "TEST", NULL)'))
07:37:00  
07:37:00  src/main/python/string_test.py:190: 
07:37:00  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
07:37:00  src/main/python/asserts.py:360: in assert_gpu_and_cpu_are_equal_collect
07:37:00      _assert_gpu_and_cpu_are_equal(func, 'COLLECT', conf=conf, is_cpu_first=is_cpu_first)
07:37:00  src/main/python/asserts.py:341: in _assert_gpu_and_cpu_are_equal
07:37:00      run_on_gpu()
07:37:00  src/main/python/asserts.py:334: in run_on_gpu
07:37:00      from_gpu = with_gpu_session(bring_back,
07:37:00  src/main/python/spark_session.py:95: in with_gpu_session
07:37:00      return with_spark_session(func, conf=copy)
07:37:00  src/main/python/spark_session.py:68: in with_spark_session
07:37:00      ret = func(_spark)
07:37:00  src/main/python/asserts.py:179: in <lambda>
07:37:00      bring_back = lambda spark: limit_func(spark).collect()
07:37:00  /home/jenkins/agent/workspace/rapids_integration-dev-github-311/jars/spark-3.1.1-bin-hadoop3.2/python/lib/pyspark.zip/pyspark/sql/dataframe.py:677: in collect
07:37:00      sock_info = self._jdf.collectToPython()
07:37:00  /home/jenkins/agent/workspace/rapids_integration-dev-github-311/jars/spark-3.1.1-bin-hadoop3.2/python/lib/py4j-0.10.9-src.zip/py4j/java_gateway.py:1304: in __call__
07:37:00      return_value = get_return_value(
07:37:00  /home/jenkins/agent/workspace/rapids_integration-dev-github-311/jars/spark-3.1.1-bin-hadoop3.2/python/lib/pyspark.zip/pyspark/sql/utils.py:111: in deco
07:37:00      return f(*a, **kw)
07:37:00  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
07:37:00  
07:37:00  answer = 'xro841966'
07:37:00  gateway_client = <py4j.java_gateway.GatewayClient object at 0x7f97c5baa790>
07:37:00  target_id = 'o841965', name = 'collectToPython'
07:37:00  
07:37:00      def get_return_value(answer, gateway_client, target_id=None, name=None):
07:37:00          """Converts an answer received from the Java gateway into a Python object.
07:37:00      
07:37:00          For example, string representation of integers are converted to Python
07:37:00          integer, string representation of objects are converted to JavaObject
07:37:00          instances, etc.
07:37:00      
07:37:00          :param answer: the string returned by the Java gateway
07:37:00          :param gateway_client: the gateway client used to communicate with the Java
07:37:00              Gateway. Only necessary if the answer is a reference (e.g., object,
07:37:00              list, map)
07:37:00          :param target_id: the name of the object from which the answer comes from
07:37:00              (e.g., *object1* in `object1.hello()`). Optional.
07:37:00          :param name: the name of the member from which the answer comes from
07:37:00              (e.g., *hello* in `object1.hello()`). Optional.
07:37:00          """
07:37:00          if is_error(answer)[0]:
07:37:00              if len(answer) > 1:
07:37:00                  type = answer[1]
07:37:00                  value = OUTPUT_CONVERTER[type](answer[2:], gateway_client)
07:37:00                  if answer[1] == REFERENCE_TYPE:
07:37:00  >                   raise Py4JJavaError(
07:37:00                          "An error occurred while calling {0}{1}{2}.\n".
07:37:00                          format(target_id, ".", name), value)
07:37:00  E                   py4j.protocol.Py4JJavaError: An error occurred while calling o841965.collectToPython.
07:37:00  E                   : scala.MatchError: List(a#533521, TEST, PROD, 1) (of class scala.collection.immutable.$colon$colon)
07:37:00  E                   	at com.nvidia.spark.rapids.shims.spark311.Spark311Shims$$anon$4.convertToGpu(Spark311Shims.scala:194)
07:37:00  E                   	at com.nvidia.spark.rapids.shims.spark311.Spark311Shims$$anon$4.convertToGpu(Spark311Shims.scala:180)
07:37:00  E                   	at com.nvidia.spark.rapids.UnaryExprMeta.convertToGpu(RapidsMeta.scala:805)
07:37:00  E                   	at com.nvidia.spark.rapids.UnaryExprMeta.convertToGpu(RapidsMeta.scala:797)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides$$anon$152.$anonfun$convertToGpu$19(GpuOverrides.scala:2686)
07:37:00  E                   	at scala.collection.immutable.Stream.map(Stream.scala:418)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides$$anon$152.convertToGpu(GpuOverrides.scala:2686)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides$$anon$152.convertToGpu(GpuOverrides.scala:2683)
07:37:00  E                   	at com.nvidia.spark.rapids.SparkPlanMeta.convertIfNeeded(RapidsMeta.scala:642)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides.applyOverrides(GpuOverrides.scala:3050)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides.apply(GpuOverrides.scala:3012)
07:37:00  E                   	at com.nvidia.spark.rapids.GpuOverrides.apply(GpuOverrides.scala:2998)
07:37:00  E                   	at org.apache.spark.sql.execution.ApplyColumnarRulesAndInsertTransitions.$anonfun$apply$1(Columnar.scala:532)
07:37:00  E                   	at org.apache.spark.sql.execution.ApplyColumnarRulesAndInsertTransitions.$anonfun$apply$1$adapted(Columnar.scala:531)
07:37:00  E                   	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
07:37:00  E                   	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
07:37:00  E                   	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
07:37:00  E                   	at org.apache.spark.sql.execution.ApplyColumnarRulesAndInsertTransitions.apply(Columnar.scala:531)
07:37:00  E                   	at org.apache.spark.sql.execution.ApplyColumnarRulesAndInsertTransitions.apply(Columnar.scala:495)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution$.$anonfun$prepareForExecution$1(QueryExecution.scala:372)
07:37:00  E                   	at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:126)
07:37:00  E                   	at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:122)
07:37:00  E                   	at scala.collection.immutable.List.foldLeft(List.scala:89)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution$.prepareForExecution(QueryExecution.scala:371)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.$anonfun$executedPlan$1(QueryExecution.scala:117)
07:37:00  E                   	at org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:111)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.$anonfun$executePhase$1(QueryExecution.scala:143)
07:37:00  E                   	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:772)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.executePhase(QueryExecution.scala:143)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.executedPlan$lzycompute(QueryExecution.scala:117)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.executedPlan(QueryExecution.scala:110)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.$anonfun$simpleString$2(QueryExecution.scala:161)
07:37:00  E                   	at org.apache.spark.sql.execution.ExplainUtils$.processPlan(ExplainUtils.scala:115)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.simpleString(QueryExecution.scala:161)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.org$apache$spark$sql$execution$QueryExecution$$explainString(QueryExecution.scala:206)
07:37:00  E                   	at org.apache.spark.sql.execution.QueryExecution.explainString(QueryExecution.scala:175)
07:37:00  E                   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$5(SQLExecution.scala:98)
07:37:00  E                   	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:163)
07:37:00  E                   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:90)
07:37:00  E                   	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:772)
07:37:00  E                   	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:64)
07:37:00  E                   	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3685)
07:37:00  E                   	at org.apache.spark.sql.Dataset.collectToPython(Dataset.scala:3516)
07:37:00  E                   	at sun.reflect.GeneratedMethodAccessor73.invoke(Unknown Source)
07:37:00  E                   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
07:37:00  E                   	at java.lang.reflect.Method.invoke(Method.java:498)
07:37:00  E                   	at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
07:37:00  E                   	at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
07:37:00  E                   	at py4j.Gateway.invoke(Gateway.java:282)
07:37:00  E                   	at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
07:37:00  E                   	at py4j.commands.CallCommand.execute(CallCommand.java:79)
07:37:00  E                   	at py4j.GatewayConnection.run(GatewayConnection.java:238)
07:37:00  E                   	at java.lang.Thread.run(Thread.java:748)
07:37:00  
07:37:00  /home/jenkins/agent/workspace/rapids_integration-dev-github-311/jars/spark-3.1.1-bin-hadoop3.2/python/lib/py4j-0.10.9-src.zip/py4j/protocol.py:326: Py4JJavaError
07:37:00  ----------------------------- Captured stdout call -----------------------------
07:37:00  ### CPU RUN ###
07:37:00  ### GPU RUN ###
@jlowe jlowe added bug Something isn't working ? - Needs Triage Need team to review and classify labels Apr 21, 2021
@jlowe jlowe self-assigned this Apr 21, 2021
@jlowe jlowe removed the ? - Needs Triage Need team to review and classify label Apr 21, 2021
@jlowe
Copy link
Member Author

jlowe commented Apr 21, 2021

This was triggered by #2192. RegExpReplace has four child expressions in Spark 3.1+, so unpacking 4 children into a 3-sequence crashes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant