You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Dawid Wysakowicz (JIRA)" <ji...@apache.org> on 2019/04/23 06:55:00 UTC

[jira] [Created] (FLINK-12297) We should clean the closure for OutputTags

Dawid Wysakowicz created FLINK-12297:
----------------------------------------

             Summary: We should clean the closure for OutputTags
                 Key: FLINK-12297
                 URL: https://issues.apache.org/jira/browse/FLINK-12297
             Project: Flink
          Issue Type: Bug
          Components: Library / CEP
    Affects Versions: 1.8.0
            Reporter: Dawid Wysakowicz
             Fix For: 1.9.0, 1.8.1


Right now we do not invoke closure cleaner on output tags. Therefore such code:

{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();
	}
{code}

will fail with {{The implementation of the PatternFlatSelectAdapter is not serializable. }} exception



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)