[ https://issues.apache.org/jira/browse/FLINK-30448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yun Gao closed FLINK-30448. --------------------------- Resolution: Won't Fix > "filter(Objects::nonNull)" will bring down task with failure cause: > ClassCastException > -------------------------------------------------------------------------------------- > > Key: FLINK-30448 > URL: https://issues.apache.org/jira/browse/FLINK-30448 > Project: Flink > Issue Type: Bug > Components: API / DataStream > Environment: test both on flink 1.15.1 and flink 1.16.0 > Intellij-Idea dev environment run > Reporter: Yong > Priority: Major > Attachments: TestSideOutput.java > > > Attached an *all-in-one* java program, which can run locally in DEV > environment(e.g. IntelliJ IDEA->run), consuming from elements stream objects, > the object schema is a parent containing two childs(Child1 and Child2) > fields, I use *side-output* to map and split out two different sub-streams, > each for one child. I put '{*}filter(Objects:nonNUll){*}' for each sub-stream > to ignore null objects. When comming from stream the parent record > {*}containing any one of child is null{*}, the program will bring down the > task and produce below error: > ...... > switched from RUNNING to FAILED with failure cause: > java.lang.{*}ClassCastException{*}: mytest.TestSideOutput$Child2 cannot be > cast to mytest.TestSideOutput$Child1. Failed to push OutputTag with id > 'child2' to operator. This can occur when multiple OutputTags with different > types but identical names are being used. > at > org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.pushToOperator(CopyingChainingOutput.java:88) > ...... > > However, if I replace '{*}filter(Objects:nonNull){*}' (at line #71 and #90) > with logically equivalent '{*}filter(x->x!=null){*}‘ (at line #70 and #89), > everythink will be OK. > -- This message was sent by Atlassian Jira (v8.20.10#820010)