Hello,
I'm using Flink 1.11 with Iceberg 0.11.
I use `pipeline.auto-generate-uids: false` in my Flink configuration to
enforce assigning UIDs to operators, so that the job could be safely
stopped and the state restored from the latest checkpoint.
But when I use Iceberg FlinkSink I get error:

Caused by: org.apache.flink.client.program.ProgramInvocationException:
The main method caused an error: Auto generated UIDs have been
disabled but no UID or hash has been assigned to operator
IcebergStreamWriter

I believe the problem is in this piece of code inside FlinkSink.java where
both transforms don't have UIDs assigned.

      DataStream<Void> returnStream = rowDataInput
          .transform(ICEBERG_STREAM_WRITER_NAME,
TypeInformation.of(WriteResult.class), streamWriter)
          .setParallelism(writeParallelism)
          .transform(ICEBERG_FILES_COMMITTER_NAME, Types.VOID, filesCommitter)
          .setParallelism(1)
          .setMaxParallelism(1);

If it's the case, is there a workaround for this issue?

Reply via email to