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] cache_test failures when testing with 128-bit decimal #4826

Closed
jlowe opened this issue Feb 18, 2022 · 0 comments · Fixed by #4899
Closed

[BUG] cache_test failures when testing with 128-bit decimal #4826

jlowe opened this issue Feb 18, 2022 · 0 comments · Fixed by #4899
Assignees
Labels
bug Something isn't working P0 Must have for release

Comments

@jlowe
Copy link
Member

jlowe commented Feb 18, 2022

While testing #4823 on Spark 3.2, cache tests were failing when 128-bit decimals were added to decimal_gens. Specifically two tests were failing:

[2022-02-18T19:25:33.459Z] FAILED ../../src/main/python/cache_test.py::test_cache_partial_load[{'spark.sql.inMemoryColumnarStorage.enableVectorizedReader': 'true'}-Decimal(20,2)][ALLOW_NON_GPU(CollectLimitExec)]
[2022-02-18T19:25:33.459Z] FAILED ../../src/main/python/cache_test.py::test_cache_cpu_gpu_mixed[{'spark.sql.inMemoryColumnarStorage.enableVectorizedReader': 'true'}-Decimal(20,2)]

test_cache_partial_load was failing with "not all the plan is on the GPU" while test_cache_cpu_gpu_mixed was failing with:

E                   Caused by: java.lang.ArithmeticException: Decimal precision 21 exceeds max precision 20
E                   	at org.apache.spark.sql.types.Decimal.set(Decimal.scala:122)
E                   	at org.apache.spark.sql.types.Decimal$.apply(Decimal.scala:571)
E                   	at org.apache.spark.sql.types.Decimal.apply(Decimal.scala)
E                   	at org.apache.spark.sql.execution.vectorized.WritableColumnVector.getDecimal(WritableColumnVector.java:378)
E                   	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
E                   	at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
E                   	at org.apache.spark.sql.execution.WholeStageCodegenExec$$anon$1.hasNext(WholeStageCodegenExec.scala:757)
E                   	at org.apache.spark.sql.execution.collect.UnsafeRowBatchUtils$.encodeUnsafeRows(UnsafeRowBatchUtils.scala:80)
E                   	at org.apache.spark.sql.execution.collect.Collector.$anonfun$processFunc$1(Collector.scala:178)
E                   	at org.apache.spark.scheduler.ResultTask.$anonfun$runTask$3(ResultTask.scala:75)
E                   	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
E                   	at org.apache.spark.scheduler.ResultTask.$anonfun$runTask$1(ResultTask.scala:75)
E                   	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
E                   	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:55)
E                   	at org.apache.spark.scheduler.Task.doRunTask(Task.scala:150)
E                   	at org.apache.spark.scheduler.Task.$anonfun$run$1(Task.scala:119)
E                   	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
E                   	at org.apache.spark.scheduler.Task.run(Task.scala:91)
E                   	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$13(Executor.scala:813)
E                   	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1620)
E                   	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$4(Executor.scala:816)
E                   	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
E                   	at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)
E                   	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:672)
E                   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
E                   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
E                   	... 1 more
@jlowe jlowe added bug Something isn't working ? - Needs Triage Need team to review and classify P0 Must have for release labels Feb 18, 2022
@jlowe jlowe removed the ? - Needs Triage Need team to review and classify label Feb 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P0 Must have for release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants