[ https://issues.apache.org/jira/browse/FLINK-8242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16340909#comment-16340909 ]
ASF GitHub Bot commented on FLINK-8242: --------------------------------------- Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/5345#discussion_r164084612 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/util/RexProgramExtractor.scala --- @@ -214,6 +213,10 @@ class RexNodeToExpressionConverter( // convert to BigDecimal literal.getValueAs(classOf[java.math.BigDecimal]) + case _ if literal.getValue.isInstanceOf[NlsString] => --- End diff -- Yes, you are right. This case should not have happened but was reported by a user. Since the Rex translation is only used for predicate push-down, we could play safe and drop the catch-all case at the end and write a debug statement that includes the value and type of the unsupported literal. Most TableSources with predicate push-down support will only support simple predicates anyway. > ClassCastException in OrcTableSource.toOrcPredicate > --------------------------------------------------- > > Key: FLINK-8242 > URL: https://issues.apache.org/jira/browse/FLINK-8242 > Project: Flink > Issue Type: Bug > Components: Batch Connectors and Input/Output Formats > Affects Versions: 1.4.0 > Reporter: Fabian Hueske > Assignee: Fabian Hueske > Priority: Critical > Fix For: 1.5.0, 1.4.1 > > > The {{OrcTableSource}} tries to cast all predicate literals to > {{Serializable}} in its {{toOrcPredicate()}} method. This fails with a > {{ClassCastException}} if a literal is not serializable. > Instead of failing, we should ignore the predicate and log a WARN message. -- This message was sent by Atlassian JIRA (v7.6.3#76005)