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

wangrupeng resolved KYLIN-4451.
-------------------------------
    Resolution: Fixed

> ClassCastException when querying on cluster with binary package
> ---------------------------------------------------------------
>
>                 Key: KYLIN-4451
>                 URL: https://issues.apache.org/jira/browse/KYLIN-4451
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine, Storage - Parquet
>            Reporter: xuekaiqi
>            Assignee: wangrupeng
>            Priority: Major
>             Fix For: v4.0.0-beta
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> {code:java}
> SELECT seller_id, COUNT(1) 
> FROM kylin_sales 
> GROUP BY seller_id;
> {code}
> kylin.output
> {code:java}
> Caused by: java.lang.ClassCastException: cannot assign instance of 
> scala.collection.immutable.List$SerializationProxy to field 
> org.apache.spark.sql.execution.aggregate.HashAggregateExec.aggregateExpressions
>  of type scala.collection.Seq in instance of 
> org.apache.spark.sql.execution.aggregate.HashAggregateExec
>       at 
> java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2233)
>       at 
> java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1405)
>       at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2291)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>       at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1973)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1565)
>       at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>       at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>       at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>       at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
>       at 
> scala.collection.immutable.List$SerializationProxy.readObject(List.scala:490)
>       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 
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1158)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2176)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>       at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>       at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>       at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
>       at 
> org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:75)
>       at 
> org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:114)
>       at 
> org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:88)
>       at 
> org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
>       at org.apache.spark.scheduler.Task.run(Task.scala:121)
>       at 
> org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:402)
>       at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1363)
>       at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:408)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       ... 1 more
> {code}
> Now there's a workaround to copy kylin-spark-common-4.0.0-SNAPSHOT.jar from 
> $KYLIN_HOME/tomcat/webapp/kylin/WEB-INF/lib to $SPARK_HOME/jars



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to