[ 
https://issues.apache.org/jira/browse/FLINK-19390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17201448#comment-17201448
 ] 

badqiu commented on FLINK-19390:
--------------------------------

yes, But why use BigInteger, convert it to avoid errors。

> mysql jdbc join error java.lang.ClassCastException: java.math.BigInteger 
> cannot be cast to java.lang.Long
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-19390
>                 URL: https://issues.apache.org/jira/browse/FLINK-19390
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / JDBC, Table SQL / Ecosystem
>    Affects Versions: 1.11.1
>            Reporter: badqiu
>            Priority: Major
>
> join on by   t1.order_id = t2.order_id.
> and order_id dataType: *bigint*.  will error.
>  
>  
> Caused by: java.lang.RuntimeException: java.lang.ClassCastException: 
> java.math.BigInteger cannot be cast to java.lang.Long
>     at 
> org.apache.flink.table.runtime.operators.join.lookup.LookupJoinWithCalcRunner$CalcCollector.collect(LookupJoinWithCalcRunner.java:84)
>     at 
> org.apache.flink.table.runtime.operators.join.lookup.LookupJoinWithCalcRunner$CalcCollector.collect(LookupJoinWithCalcRunner.java:71)
>     at 
> org.apache.flink.table.functions.TableFunction.collect(TableFunction.java:203)
>     at 
> org.apache.flink.connector.jdbc.table.JdbcRowDataLookupFunction.eval(JdbcRowDataLookupFunction.java:162)
>     at LookupFunction$43.flatMap(Unknown Source)
>     at 
> org.apache.flink.table.runtime.operators.join.lookup.LookupJoinRunner.processElement(LookupJoinRunner.java:82)
>     at 
> org.apache.flink.table.runtime.operators.join.lookup.LookupJoinRunner.processElement(LookupJoinRunner.java:36)
>     at 
> org.apache.flink.streaming.api.operators.ProcessOperator.processElement(ProcessOperator.java:66)
>     at 
> org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:717)
>     at 
> org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:692)
>     at 
> org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:672)
>     at 
> org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:52)
>     at 
> org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:30)
>     at StreamExecCalc$40.processElement(Unknown Source)
>     at 
> org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.pushToOperator(OperatorChain.java:717)
>     at 
> org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:692)
>     at 
> org.apache.flink.streaming.runtime.tasks.OperatorChain$CopyingChainingOutput.collect(OperatorChain.java:672)
>     at 
> org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:52)
>     at 
> org.apache.flink.streaming.api.operators.CountingOutput.collect(CountingOutput.java:30)
>     at 
> org.apache.flink.streaming.api.operators.StreamSourceContexts$NonTimestampContext.collect(StreamSourceContexts.java:104)
>     at 
> org.apache.flink.streaming.api.operators.StreamSourceContexts$NonTimestampContext.collectWithTimestamp(StreamSourceContexts.java:111)
>     at 
> org.apache.flink.streaming.connectors.kafka.internals.AbstractFetcher.emitRecordsWithTimestamps(AbstractFetcher.java:352)
>     at 
> org.apache.flink.streaming.connectors.kafka.internal.KafkaFetcher.partitionConsumerRecordsHandler(KafkaFetcher.java:185)
>     at 
> org.apache.flink.streaming.connectors.kafka.internal.KafkaFetcher.runFetchLoop(KafkaFetcher.java:141)
>     at 
> org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumerBase.run(FlinkKafkaConsumerBase.java:755)
>     at 
> org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:100)
>     at 
> org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:63)
>     at 
> org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:201)
> Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast 
> to java.lang.Long
>     at 
> org.apache.flink.table.data.GenericRowData.getLong(GenericRowData.java:154)
>     at TableCalcMapFunction$47.flatMap(Unknown Source)
>     at 
> org.apache.flink.table.runtime.operators.join.lookup.LookupJoinWithCalcRunner$CalcCollector.collect(LookupJoinWithCalcRunner.java:82)
>     ... 27 more



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

Reply via email to