Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
1.8.0
Description
Right now we do not invoke closure cleaner on output tags. Therefore such code:
@Test public void testFlatSelectSerialization() throws Exception { StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStreamSource<Integer> elements = env.fromElements(1, 2, 3); OutputTag<Integer> outputTag = new OutputTag<Integer>("AAA") {}; CEP.pattern(elements, Pattern.begin("A")).flatSelect( outputTag, new PatternFlatTimeoutFunction<Integer, Integer>() { @Override public void timeout( Map<String, List<Integer>> pattern, long timeoutTimestamp, Collector<Integer> out) throws Exception { } }, new PatternFlatSelectFunction<Integer, Object>() { @Override public void flatSelect(Map<String, List<Integer>> pattern, Collector<Object> out) throws Exception { } } ); env.execute(); }
will fail with {{The implementation of the PatternFlatSelectAdapter is not serializable. }} exception
Attachments
Attachments
Issue Links
- causes
-
FLINK-13586 Method ClosureCleaner.clean broke backward compatibility between 1.8.0 and 1.8.1
- Closed
- links to