[ 
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)

Reply via email to