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

Yuming Wang updated SPARK-28463:
--------------------------------
    Fix Version/s: 3.0.0

> Thriftserver throws java.math.BigDecimal incompatible with 
> org.apache.hadoop.hive.common.type.HiveDecimal
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-28463
>                 URL: https://issues.apache.org/jira/browse/SPARK-28463
>             Project: Spark
>          Issue Type: Sub-task
>          Components: SQL
>    Affects Versions: 3.0.0
>            Reporter: Yuming Wang
>            Assignee: Yuming Wang
>            Priority: Major
>             Fix For: 3.0.0
>
>
> How to reproduce this issue:
> {code:sh}
> build/sbt clean package -Phive -Phive-thriftserver -Phadoop-3.2
> export SPARK_PREPEND_CLASSES=true
> sbin/start-thriftserver.sh
> [root@spark-3267648 spark]# bin/beeline -u 
> jdbc:hive2://localhost:10000/default -e "select cast(1 as decimal(38, 18));"
> Connecting to jdbc:hive2://localhost:10000/default
> Connected to: Spark SQL (version 3.0.0-SNAPSHOT)
> Driver: Hive JDBC (version 2.3.5)
> Transaction isolation: TRANSACTION_REPEATABLE_READ
> Error: java.lang.ClassCastException: java.math.BigDecimal incompatible with 
> org.apache.hadoop.hive.common.type.HiveDecimal (state=,code=0)
> Closing: 0: jdbc:hive2://localhost:10000/default
> {code}
> Logs:
> {noformat}
> java.lang.RuntimeException: java.lang.ClassCastException: 
> java.math.BigDecimal incompatible with 
> org.apache.hadoop.hive.common.type.HiveDecimal
>       at 
> org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:83)
>       at 
> org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36)
>       at 
> org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63)
>       at 
> java.security.AccessController.doPrivileged(AccessController.java:770)
>       at javax.security.auth.Subject.doAs(Subject.java:422)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
>       at 
> org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59)
>       at com.sun.proxy.$Proxy31.fetchResults(Unknown Source)
>       at 
> org.apache.hive.service.cli.CLIService.fetchResults(CLIService.java:521)
>       at 
> org.apache.hive.service.cli.thrift.ThriftCLIService.FetchResults(ThriftCLIService.java:623)
>       at 
> org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1717)
>       at 
> org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1702)
>       at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
>       at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
>       at 
> org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:53)
>       at 
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:310)
>       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:819)
> Caused by: java.lang.ClassCastException: java.math.BigDecimal incompatible 
> with org.apache.hadoop.hive.common.type.HiveDecimal
>       at 
> org.apache.hive.service.cli.ColumnBasedSet.addRow(ColumnBasedSet.java:111)
>       at 
> org.apache.hive.service.cli.ColumnBasedSet.addRow(ColumnBasedSet.java:42)
>       at 
> org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.$anonfun$getNextRowSet$1(SparkExecuteStatementOperation.scala:150)
>       at 
> org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation$$Lambda$1921.000000009054D6E0.apply(Unknown
>  Source)
>       at 
> org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.withSchedulerPool(SparkExecuteStatementOperation.scala:298)
>       at 
> org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.getNextRowSet(SparkExecuteStatementOperation.scala:112)
>       at 
> org.apache.hive.service.cli.operation.OperationManager.getOperationNextRowSet(OperationManager.java:244)
>       at 
> org.apache.hive.service.cli.session.HiveSessionImpl.fetchResults(HiveSessionImpl.java:799)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78)
>       ... 18 more
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

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

Reply via email to