[jira] [Updated] (SPARK-38481) Substitute Java overflow exception from TIMESTAMPADD by Spark exception

2022-03-09 Thread Max Gekk (Jira)


 [ 
https://issues.apache.org/jira/browse/SPARK-38481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Max Gekk updated SPARK-38481:
-
Description: 
Currently, Spark SQL can throw Java exceptions from the 
timestampadd()/date_add()/dateadd() functions, for instance:

{code:java}
spark-sql> select timestampadd(YEAR, 100, timestamp'2022-03-09 01:02:03');
22/03/09 14:47:15 ERROR SparkSQLDriver: Failed in [select timestampadd(YEAR, 
100, timestamp'2022-03-09 01:02:03')]
java.lang.ArithmeticException: long overflow
at java.lang.Math.multiplyExact(Math.java:892) ~[?:1.8.0_292]
at 
org.apache.spark.sql.catalyst.util.DateTimeUtils$.instantToMicros(DateTimeUtils.scala:505)
 ~[spark-catalyst_2.12-3.3.0-SNAPSHOT.jar:3.3.0-SNAPSHOT]
at 
org.apache.spark.sql.catalyst.util.DateTimeUtils$.timestampAddMonths(DateTimeUtils.scala:724)
 ~[spark-catalyst_2.12-3.3.0-SNAPSHOT.jar:3.3.0-SNAPSHOT]
at 
org.apache.spark.sql.catalyst.util.DateTimeUtils$.timestampAdd(DateTimeUtils.scala:1197)
 ~[spark-catalyst_2.12-3.3.0-SNAPSHOT.jar:3.3.0-SNAPSHOT]
{code}

That might confuse non-Scala/Java users. Need to wrap such kind of exception by 
Spark's exception using an error class.

  was:
Currently, Spark SQL can throw Java exceptions from the 
timestampadd()/date_add()/dateadd() functions, for instance:

{code:java}

{code}

That might confuse non-Scala/Java users. Need to wrap such kind of exception by 
Spark's exception using an error class.


> Substitute Java overflow exception from TIMESTAMPADD by Spark exception
> ---
>
> Key: SPARK-38481
> URL: https://issues.apache.org/jira/browse/SPARK-38481
> Project: Spark
>  Issue Type: Sub-task
>  Components: SQL
>Affects Versions: 3.3.0
>Reporter: Max Gekk
>Assignee: Max Gekk
>Priority: Major
> Fix For: 3.3.0
>
>
> Currently, Spark SQL can throw Java exceptions from the 
> timestampadd()/date_add()/dateadd() functions, for instance:
> {code:java}
> spark-sql> select timestampadd(YEAR, 100, timestamp'2022-03-09 01:02:03');
> 22/03/09 14:47:15 ERROR SparkSQLDriver: Failed in [select timestampadd(YEAR, 
> 100, timestamp'2022-03-09 01:02:03')]
> java.lang.ArithmeticException: long overflow
>   at java.lang.Math.multiplyExact(Math.java:892) ~[?:1.8.0_292]
>   at 
> org.apache.spark.sql.catalyst.util.DateTimeUtils$.instantToMicros(DateTimeUtils.scala:505)
>  ~[spark-catalyst_2.12-3.3.0-SNAPSHOT.jar:3.3.0-SNAPSHOT]
>   at 
> org.apache.spark.sql.catalyst.util.DateTimeUtils$.timestampAddMonths(DateTimeUtils.scala:724)
>  ~[spark-catalyst_2.12-3.3.0-SNAPSHOT.jar:3.3.0-SNAPSHOT]
>   at 
> org.apache.spark.sql.catalyst.util.DateTimeUtils$.timestampAdd(DateTimeUtils.scala:1197)
>  ~[spark-catalyst_2.12-3.3.0-SNAPSHOT.jar:3.3.0-SNAPSHOT]
> {code}
> That might confuse non-Scala/Java users. Need to wrap such kind of exception 
> by Spark's exception using an error class.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org



[jira] [Updated] (SPARK-38481) Substitute Java overflow exception from TIMESTAMPADD by Spark exception

2022-03-09 Thread Max Gekk (Jira)


 [ 
https://issues.apache.org/jira/browse/SPARK-38481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Max Gekk updated SPARK-38481:
-
Description: 
Currently, Spark SQL can throw Java exceptions from the 
timestampadd()/date_add()/dateadd() functions, for instance:

{code:java}

{code}

That might confuse non-Scala/Java users. Need to wrap such kind of exception by 
Spark's exception using an error class.

  was:
Currently, Spark SQL can throw Java exceptions from the 
aes_encrypt()/aes_decrypt() functions, for instance:

{code:java}
java.lang.RuntimeException: javax.crypto.AEADBadTagException: Tag mismatch!
at 
org.apache.spark.sql.catalyst.expressions.ExpressionImplUtils.aesInternal(ExpressionImplUtils.java:93)
at 
org.apache.spark.sql.catalyst.expressions.ExpressionImplUtils.aesDecrypt(ExpressionImplUtils.java:43)
at 
org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.project_doConsume_0$(Unknown
 Source)
at 
org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown
 Source)
at 
org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
at 
org.apache.spark.sql.execution.WholeStageCodegenExec$$anon$1.hasNext(WholeStageCodegenExec.scala:759)
at 
org.apache.spark.sql.execution.SparkPlan.$anonfun$getByteArrayRdd$1(SparkPlan.scala:354)
at 
org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2(RDD.scala:890)
at 
org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2$adapted(RDD.scala:890)
at 
org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:365)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:329)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
at org.apache.spark.scheduler.Task.run(Task.scala:136)
at 
org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:507)
at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1468)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:510)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
at 
com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:620)
at 
com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116)
at 
com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:853)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
at javax.crypto.Cipher.doFinal(Cipher.java:2226)
at 
org.apache.spark.sql.catalyst.expressions.ExpressionImplUtils.aesInternal(ExpressionImplUtils.java:87)
... 19 more
{code}

That might confuse non-Scala/Java users. Need to wrap such kind of exception by 
Spark's exception.


> Substitute Java overflow exception from TIMESTAMPADD by Spark exception
> ---
>
> Key: SPARK-38481
> URL: https://issues.apache.org/jira/browse/SPARK-38481
> Project: Spark
>  Issue Type: Sub-task
>  Components: SQL
>Affects Versions: 3.3.0
>Reporter: Max Gekk
>Assignee: Max Gekk
>Priority: Major
> Fix For: 3.3.0
>
>
> Currently, Spark SQL can throw Java exceptions from the 
> timestampadd()/date_add()/dateadd() functions, for instance:
> {code:java}
> {code}
> That might confuse non-Scala/Java users. Need to wrap such kind of exception 
> by Spark's exception using an error class.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

-
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org