[
https://issues.apache.org/jira/browse/FLINK-26826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arseniy Tashoyan updated FLINK-26826:
-------------------------------------
Affects Version/s: 1.13.6
> env.readFile() fails if auto-generated UIDs disabled
> ----------------------------------------------------
>
> Key: FLINK-26826
> URL: https://issues.apache.org/jira/browse/FLINK-26826
> Project: Flink
> Issue Type: Bug
> Affects Versions: 1.15.0, 1.12.7, 1.13.6, 1.14.4
> Environment: Flink 1.12.4
> OpenJDK 8
> Reporter: Arseniy Tashoyan
> Priority: Major
>
> When the settings *pipeline.auto-generate-uids* is set to {*}false{*}, the
> following functions from *StreamExecutionEnvironment* fail:
> * readFile()
> * readTextFile()
> * createInput()
> These functions call the private function {*}createFileInput(){*}, which does
> the following:
> {code:java}
> SingleOutputStreamOperator<OUT> source =
> addSource(monitoringFunction, sourceName, null, boundedness)
> .transform("Split Reader: " + sourceName, typeInfo, factory);{code}
> This code calls {*}addSource(){*}, but does not set UID for the added source
> operator. Since the automated UID generation disabled, we get a failure:
> {code:java}
> java.lang.IllegalStateException: Auto generated UIDs have been disabled but
> no UID or hash has been assigned to operator Custom File Source
> at
> org.apache.flink.streaming.util.graph.StreamGraphUtils.validateTransformationUid(StreamGraphUtils.java:47)
> at
> org.apache.flink.streaming.api.graph.SimpleTransformationTranslator.configure(SimpleTransformationTranslator.java:108)
> at
> org.apache.flink.streaming.api.graph.SimpleTransformationTranslator.translateForStreaming(SimpleTransformationTranslator.java:62)
> at
> org.apache.flink.streaming.api.graph.StreamGraphGenerator.translate(StreamGraphGenerator.java:671)
> at
> org.apache.flink.streaming.api.graph.StreamGraphGenerator.transform(StreamGraphGenerator.java:403)
> at
> org.apache.flink.streaming.api.graph.StreamGraphGenerator.getParentInputIds(StreamGraphGenerator.java:692)
> at
> org.apache.flink.streaming.api.graph.StreamGraphGenerator.translate(StreamGraphGenerator.java:652)
> at
> org.apache.flink.streaming.api.graph.StreamGraphGenerator.transform(StreamGraphGenerator.java:403)
> at
> org.apache.flink.streaming.api.graph.StreamGraphGenerator.generate(StreamGraphGenerator.java:269)
> at
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getStreamGraph(StreamExecutionEnvironment.java:1958)
> at
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getStreamGraph(StreamExecutionEnvironment.java:1943)
> at
> org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.java:1874)
> at
> org.apache.flink.streaming.api.scala.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.scala:799)
> {code}
> A possible fix is to pass an additional argument sourceUid to the function
> {*}createFileInput(){*}, as well as to all public functions calling
> {*}createFileInput(){*}. Same for Scala API.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)