YinChunGuang opened a new issue, #19301:
URL: https://github.com/apache/hudi/issues/19301

   h2. Summary
   
   When a Flink streaming writer encounters a transient HDFS error during 
metadata table (MDT) log file write, the entire deltacommit fails. Because the 
MDT write happens before `saveAsComplete`, the data table's inflight instant is 
never transitioned to complete. On restart, the coordinator retries from the 
oldest pending instant, but the inflight file may no longer exist on HDFS, 
causing a permanent restart failure loop that exhausts all retry attempts and 
kills the job.
   
   h2. Environment
   
   || Component || Version ||
   | Apache Flink | 1.18.1 |
   | Apache Hudi | 1.1.1 |
   | Hadoop | 3.1.1 |
   | JDK | 1.8 |
   | Table Type | MOR (Merge On Read) |
   | Index Type | BUCKET |
   | Metadata Table | Enabled (default) |
   
   h2. Table Configuration
   
   {code:sql}
   CREATE TABLE `t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock`(
     ...
   )
   PARTITIONED BY (`dt`)
   WITH (
     'connector' = 'hudi',
     'table.type' = 'MERGE_ON_READ',
     'index.type' = 'BUCKET',
     'hoodie.metadata.enable' = 'true',          -- MDT enabled
     'hoodie.cleaner.policy' = 'KEEP_LATEST_COMMITS',
     'hoodie.cleaner.commits.retained' = '10',
     'hoodie.clean.manual.batch.enable' = 'true', -- Auto clean OFF
     'hoodie.archive.manual.batch.enable' = 'true', -- Auto archive OFF
     'compaction.tasks' = '1',
     'compaction.async.enabled' = 'true',
     'compaction.delta_commits' = '20',
     'compaction.trigger.strategy' = 'num_commits',
     'write.tasks' = '8',
     'changelog.enabled' = 'true',
     'write.precombine' = 'true',
     'write.ignore.failed' = 'true'
   );
   {code}
   
   h2. Failure Timeline
   
   h3. Phase 1: MDT Write Failure → Global Job Failure
   
   # A high-priority compaction completes at *02:53:51*
   # The next deltacommit `20260710185353327` starts at *02:53:51*
   # The MDT log file is created successfully:
   {code}
   02:53:51,332 INFO  DFSClient [] - DFSClient_createFile_..._FOR_CREATE 
[.metadata/.hoodie_mt_log_...]
   {code}
   # 4.4 seconds later, while writing to the MDT log file, `hsync` fails:
   {code}
   02:53:55,728 WARN  DFSClient [] - Caught exception in hsync: Holder 
DFSClient_-563620450 does not have any open files
   02:53:55,758 WARN  DFSClient [] - DataStreamer Exception: 
InterruptedException
   02:53:55,760 WARN  DFSClient [] - Abandoning all blocks in the pipeline
   {code}
   # The {{HoodieAppendException}} propagates up through 
{{BaseHoodieWriteClient.commit()}}:
   {code}
   02:53:55,761 ERROR BaseFlinkCommitActionExecutor [] - Failed to commit 
deltacommit at 20260710185353327
   {code}
   # The uncaught exception triggers Flink's global failure mechanism:
   {code}
   02:53:55,787 INFO  NonThrownExecutor [] - Executing global failure.
   02:53:55,794 INFO  ExecutionGraph [] - Switching TaskExecutionJobVertex from 
RUNNING to FAILED
   {code}
   
   h3. Phase 2: Permanent Restart Failure Loop
   
   After restart, the coordinator finds the incomplete instant and retries, but 
the inflight file was cleaned up or lost during the failed attempt:
   
   {code}
   02:59:15 INFO  StreamWriteOperatorCoordinator [] - Coordinator starts.
   02:59:15 INFO  StreamWriteOperatorCoordinator [] - Found the earliest 
pending deltacommit instant: 20260710185353327
   02:59:15 INFO  StreamWriteOperatorCoordinator [] - New checkpoint triggers 
the pending instant commit: 20260710185353327
   02:59:15 ERROR StreamWriteOperatorCoordinator [] - Executor execute action 
[commitInstants] failed.
   org.apache.hudi.exception.HoodieIOException: Failed to commit deltacommit 
instant 20260710185353327
     Caused by: org.apache.hudi.exception.HoodieIOException: Cannot find 
inflight file for ...20260710185353327.deltacommit.inflight
   {code}
   
   This repeats for *10 restart attempts over 30 minutes*. All fail with the 
same error. At *03:26:41* the job reaches terminal state FAILED.
   
   h2. Log Evidence
   
   h3. 1. MDT log file created (successful)
   
   {code}
   02:53:51,332 INFO  DFSClient [] - 
DFSClient_createFile_DFSClient_-563620450_1246882867_SYNC_CREATE_FOR_CREATE_ONLY
 [.metadata/.hoodie_mt_log_20260710185353327_0-1586-02-000003055]
   {code}
   
   h3. 2. hsync fails after 4.4 seconds
   
   {code}
   02:53:55,728 WARN  DFSClient [] - Caught exception in hsync: Holder 
DFSClient_-563620450 does not have any open files
   java.io.IOException: The file /tmp/.../ .metadata/.hoodie_mt_log_... has 
been closed and is unavailable for write
   {code}
   
   h3. 3. DataNode pipeline broken
   
   {code}
   02:53:55,758 WARN  DFSClient [] - DataStreamer Exception: 
InterruptedException
   java.lang.InterruptedException
       at java.lang.Object.wait(Native Method)
       at java.lang.Thread.join(Thread.java:853)
       at 
org.apache.hudi.org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:16861)
   02:53:55,760 WARN  DFSClient [] - Abandoning all blocks in the pipeline
   {code}
   
   h3. 4. Commit fails
   
   {code}
   02:53:55,761 ERROR BaseFlinkCommitActionExecutor [] - Failed to commit 
deltacommit at 20260710185353327
   org.apache.hudi.exception.HoodieAppendException: Failed to close writer for 
metadata log file
     Caused by: java.io.IOException: The file has been closed and is 
unavailable for write
   {code}
   
   h3. 5. Flink global failure
   
   {code}
   02:53:55,787 INFO  NonThrownExecutor [] - Executing global failure.
   02:53:55,794 INFO  ExecutionGraph [] - Switching from RUNNING to FAILED. 
Failure Error: org.apache.hudi.exception.HoodieAppendException
   {code}
   
   h3. 6. Restart fails — inflight file missing
   
   {code}
   02:59:15 ERROR StreamWriteOperatorCoordinator [] - Executor execute action 
[commitInstants] failed.
   Caused by: org.apache.hudi.exception.HoodieIOException: Cannot find inflight 
file for ...20260710185353327.deltacommit.inflight
   {code}
   
   h3. 7. Terminal state FAILED
   
   {code}
   03:26:41,727 INFO  JobMaster [] - Job job_f6d4153a4696d9b1f29c924dc8704f9b 
reached terminal state FAILED.
   {code}
   
   h2. Root Cause Analysis
   
   h3. Why the first deltacommit failed
   
   The {{BaseHoodieWriteClient.commit()}} method writes to the metadata table 
*before* calling {{saveAsComplete}} on the data table timeline. When the MDT 
write fails (in this case due to an HDFS DataNode pipeline break), 
{{saveAsComplete}} is never reached, leaving the data table's deltacommit stuck 
in INFLIGHT state.
   
   Additionally, in {{commitStats()}}, the {{catch}} block only catches 
{{IOException}}, but {{HoodieAppendException}} extends {{RuntimeException}}, so 
it bypasses the error handling and propagates directly to Flink's 
{{NonThrownExecutor}}, triggering a global job failure.
   
   {code:java}
   // BaseHoodieWriteClient.commit() — line ~320
   // ① Write MDT (BEFORE saveAsComplete)
   writeToMetadataTable(skipStreamingWritesToMetadataTable, table, instantTime,
       tableWriteStats.getMetadataTableWriteStats(), metadata);
   // ② Never reached if ① fails
   activeTimeline.saveAsComplete(false,
       table.getMetaClient().createNewInstant(
           HoodieInstant.State.INFLIGHT, commitActionType, instantTime),
       Option.of(metadata), ...);
   {code}
   
   {code:java}
   // BaseHoodieWriteClient.commitStats() — line ~279
   try {
       commit(table, commitActionType, instantTime, metadata,
           tableWriteStats, skipStreamingWritesToMetadataTable);
   } catch (IOException e) {
       // HoodieAppendException extends RuntimeException — NOT caught here!
       throw new HoodieCommitException(...);
   }
   // HoodieAppendException escapes to Flink's NonThrownExecutor → global 
failure
   {code}
   
   h3. Why every restart attempt fails
   
   The {{StreamWriteOperatorCoordinator}} retries from the oldest pending 
instant on each restart. However, the inflight file for that instant no longer 
exists — it was either cleaned up during the failed write or lost due to the 
pipeline failure. The {{ActiveTimelineV2.transitionStateToComplete()}} method 
requires the inflight file to exist, so it throws:
   
   {code:java}
   // ActiveTimelineV2.transitionStateToComplete()
   Preconditions.checkArgument(isInflight(inflightInstant),
       "Unable to find instant (%s)", inflightInstant);
   {code}
   
   h3. Why Flink is more affected than Spark
   
   {{SparkRDDWriteClient}} overrides {{writeToMetadataTable()}} with 
streaming-aware handling. {{HoodieFlinkWriteClient}} does *not* override this 
method — it uses the base class default which always performs synchronous MDT 
writes. Furthermore, Flink hardcodes {{skipStreamingWritesToMetadataTable = 
false}}, meaning MDT writes are never skipped.
   
   h2. Proposed Fixes
   
   h3. Fix 1: Tolerate MDT write failure (BaseHoodieWriteClient.commit)
   
   Wrap the MDT write in a try-catch block so its failure does not block 
{{saveAsComplete}} on the data table:
   
   {code:java}
   protected void commit(HoodieTable table, String commitActionType, String 
instantTime,
                         HoodieCommitMetadata metadata, TableWriteStats 
tableWriteStats,
                         boolean skipStreamingWritesToMetadataTable) throws 
IOException {
       finalizeWrite(table, instantTime, 
tableWriteStats.getDataTableWriteStats());
       saveInternalSchema(table, instantTime, metadata);
   
       try {
           writeToMetadataTable(skipStreamingWritesToMetadataTable, table, 
instantTime,
               tableWriteStats.getMetadataTableWriteStats(), metadata);
       } catch (Exception e) {
           LOG.error("Failed to write to metadata table for instant {}, "
               + "proceeding with data table commit. MDT can be recovered via 
bootstrap.",
               instantTime, e);
       }
   
       if (isLockRequiredForActiveTimeline(table.getMetaClient())) {
           this.txnManager.beginStateChange(
               Option.of(table.getMetaClient().createNewInstant(
                   HoodieInstant.State.INFLIGHT, commitActionType, 
instantTime)));
       }
       activeTimeline.saveAsComplete(false,
           table.getMetaClient().createNewInstant(
               HoodieInstant.State.INFLIGHT, commitActionType, instantTime),
           Option.of(metadata), tableWriteStats.getRuntimeStats());
   }
   {code}
   
   h3. Fix 2: Skip missing inflight files on restart 
(StreamWriteOperatorCoordinator)
   
   When the inflight file is missing, skip the instant instead of failing:
   
   {code:java}
   // StreamWriteOperatorCoordinator.commitInstants()
   if (allInstants.isEmpty()) {
       // no pending commits, skip
       return;
   }
   HoodieInstant instant = allInstants.get(0);
   
   // Skip if inflight file no longer exists (e.g., cleaned up after a previous 
failed attempt)
   if (!writeClient.getTable().getMetaClient().getActiveTimeline()
           .filter(inflights -> inflights.contains(instant)).isPresent()) {
       LOG.warn("Skipping instant {} — inflight file not found in active 
timeline", instant);
       return;
   }
   {code}
   
   h3. Fix 3: Catch HoodieAppendException in commitStats
   
   Extend the catch block to include {{RuntimeException}} or specifically 
{{HoodieAppendException}}:
   
   {code:java}
   try {
       commit(table, commitActionType, instantTime, metadata,
           tableWriteStats, skipStreamingWritesToMetadataTable);
   } catch (IOException | HoodieAppendException e) {
       throw new HoodieCommitException(
           "Failed to commit " + instantTime + " time=" + commitTime, e);
   }
   {code}
   
   h2. Current Workaround
   
   {code:sql}
   ALTER TABLE t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock
   SET TBLPROPERTIES (
     'hoodie.metadata.enable' = 'false'
   );
   {code}
   
   This disables MDT writes entirely, preventing the coupling issue. It is safe 
for single-writer scenarios using BUCKET index with compaction enabled.
   
   
   **additionLog**
   `2026-07-16 03:02:37,282 INFO  
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2 [] - 
Completed [==>20260716025337008__deltacommit__INFLIGHT]
   2026-07-16 03:02:37,287 INFO  org.apache.hudi.common.fs.FSUtils              
              [] - Removed directory at 
hdfs://bipcluster/user/hive/warehouse/yuqi_oldetl_test.db/t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock/.hoodie/metadata/.hoodie/.temp/20260716025337008
   2026-07-16 03:02:37,288 INFO  org.apache.hudi.client.BaseHoodieWriteClient   
              [] - Committed 20260716025337008
   2026-07-16 03:02:37,293 INFO  
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2 [] - 
Marking instant complete [==>20260716025337008__deltacommit__INFLIGHT]
   2026-07-16 03:02:37,294 INFO  
org.apache.hudi.client.transaction.TransactionManager        [] - State change 
ending for action instant 
Option{val=[==>20260716025337008__deltacommit__INFLIGHT]}
   2026-07-16 03:02:37,295 INFO  
org.apache.hudi.client.transaction.lock.InProcessLockProvider [] - Base Path 
hdfs://bipcluster/user/hive/warehouse/yuqi_oldetl_test.db/t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock,
 Lock Instance java.util.concurrent.locks.ReentrantReadWriteLock@1efbc60b[Write 
locks = 1, Read locks = 0], Thread meta-event-handle, In-process lock state 
RELEASING
   2026-07-16 03:02:37,295 INFO  
org.apache.hudi.client.transaction.lock.InProcessLockProvider [] - Base Path 
hdfs://bipcluster/user/hive/warehouse/yuqi_oldetl_test.db/t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock,
 Lock Instance java.util.concurrent.locks.ReentrantReadWriteLock@1efbc60b[Write 
locks = 0, Read locks = 0], Thread meta-event-handle, In-process lock state 
RELEASED
   2026-07-16 03:02:37,296 INFO  
org.apache.hudi.client.transaction.lock.InProcessLockProvider [] - Base Path 
hdfs://bipcluster/user/hive/warehouse/yuqi_oldetl_test.db/t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock,
 Lock Instance java.util.concurrent.locks.ReentrantReadWriteLock@1efbc60b[Write 
locks = 0, Read locks = 0], Thread meta-event-handle, In-process lock state 
ALREADY_RELEASED
   2026-07-16 03:02:37,297 INFO  
org.apache.hudi.client.transaction.lock.LockManager          [] - Released 
connection created for acquiring lock
   2026-07-16 03:02:37,297 INFO  
org.apache.hudi.client.transaction.TransactionManager        [] - State change 
ended for action instant 
Option{val=[==>20260716025337008__deltacommit__INFLIGHT]}
   2026-07-16 03:02:37,297 INFO  
org.apache.hudi.client.heartbeat.HoodieHeartbeatClient       [] - Stopping 
heartbeat for instant 20260716025337008
   2026-07-16 03:02:37,298 INFO  
org.apache.hudi.client.heartbeat.HoodieHeartbeatClient       [] - Stopped 
heartbeat for instant 20260716025337008
   2026-07-16 03:02:37,300 INFO  
org.apache.hudi.client.heartbeat.HeartbeatUtils              [] - Deleted the 
heartbeat for instant 20260716025337008
   2026-07-16 03:02:37,300 INFO  
org.apache.hudi.client.heartbeat.HoodieHeartbeatClient       [] - Deleted 
heartbeat file for instant 20260716025337008
   2026-07-16 03:02:37,301 ERROR 
org.apache.hudi.sink.StreamWriteOperatorCoordinator          [] - Executor 
executes action [commits the instant 20260716030218327] error
   java.lang.IllegalArgumentException: File 
hdfs://bipcluster/user/hive/warehouse/yuqi_oldetl_test.db/t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock/.hoodie/timeline/20260716025337008.deltacommit.inflight
 does not exist!
        at 
org.apache.hudi.common.util.ValidationUtils.checkArgument(ValidationUtils.java:42)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2.transitionStateToComplete(ActiveTimelineV2.java:563)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2.saveAsComplete(ActiveTimelineV2.java:171)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2.saveAsComplete(ActiveTimelineV2.java:162)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2.saveAsComplete(ActiveTimelineV2.java:178)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.BaseHoodieWriteClient.commit(BaseHoodieWriteClient.java:321)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.BaseHoodieWriteClient.commitStats(BaseHoodieWriteClient.java:276)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.BaseHoodieWriteClient.commitStats(BaseHoodieWriteClient.java:244)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.HoodieFlinkWriteClient.commit(HoodieFlinkWriteClient.java:107)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.HoodieFlinkWriteClient.commit(HoodieFlinkWriteClient.java:74)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.BaseHoodieWriteClient.commit(BaseHoodieWriteClient.java:226)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.doCommit(StreamWriteOperatorCoordinator.java:617)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.commitInstant(StreamWriteOperatorCoordinator.java:602)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.lambda$commitInstants$10(StreamWriteOperatorCoordinator.java:557)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) 
~[?:1.8.0_281]
        at 
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) 
~[?:1.8.0_281]
        at 
java.util.concurrent.ConcurrentSkipListMap$EntrySpliterator.forEachRemaining(ConcurrentSkipListMap.java:3535)
 ~[?:1.8.0_281]
        at 
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) 
~[?:1.8.0_281]
        at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) 
~[?:1.8.0_281]
        at 
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) 
~[?:1.8.0_281]
        at 
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
~[?:1.8.0_281]
        at 
java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) 
~[?:1.8.0_281]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.commitInstants(StreamWriteOperatorCoordinator.java:557)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.lambda$notifyCheckpointComplete$3(StreamWriteOperatorCoordinator.java:299)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.utils.NonThrownExecutor.lambda$wrapAction$0(NonThrownExecutor.java:131)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[?:1.8.0_281]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[?:1.8.0_281]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_281]
   2026-07-16 03:02:37,304 INFO  org.apache.flink.runtime.jobmaster.JobMaster   
              [] - Trying to recover from a global failure.
   org.apache.flink.util.FlinkException: Global failure triggered by 
OperatorCoordinator for 'bucket_write: 
yuqi_oldetl_test.t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock' 
(operator b754eda8ef527d9494a0b43e9bf7abf3).
        at 
org.apache.flink.runtime.operators.coordination.OperatorCoordinatorHolder$LazyInitializedCoordinatorContext.failJob(OperatorCoordinatorHolder.java:624)
 ~[flink-dist-1.18.1.jar:1.18.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.lambda$start$0(StreamWriteOperatorCoordinator.java:230)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.utils.NonThrownExecutor.handleException(NonThrownExecutor.java:143)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.utils.NonThrownExecutor.lambda$wrapAction$0(NonThrownExecutor.java:134)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
~[?:1.8.0_281]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
~[?:1.8.0_281]
        at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_281]
   Caused by: org.apache.hudi.exception.HoodieException: Executor executes 
action [commits the instant 20260716030218327] error
        ... 6 more
   Caused by: java.lang.IllegalArgumentException: File 
hdfs://bipcluster/user/hive/warehouse/yuqi_oldetl_test.db/t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock/.hoodie/timeline/20260716025337008.deltacommit.inflight
 does not exist!
        at 
org.apache.hudi.common.util.ValidationUtils.checkArgument(ValidationUtils.java:42)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2.transitionStateToComplete(ActiveTimelineV2.java:563)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2.saveAsComplete(ActiveTimelineV2.java:171)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2.saveAsComplete(ActiveTimelineV2.java:162)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.common.table.timeline.versioning.v2.ActiveTimelineV2.saveAsComplete(ActiveTimelineV2.java:178)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.BaseHoodieWriteClient.commit(BaseHoodieWriteClient.java:321)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.BaseHoodieWriteClient.commitStats(BaseHoodieWriteClient.java:276)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.BaseHoodieWriteClient.commitStats(BaseHoodieWriteClient.java:244)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.HoodieFlinkWriteClient.commit(HoodieFlinkWriteClient.java:107)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.HoodieFlinkWriteClient.commit(HoodieFlinkWriteClient.java:74)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.client.BaseHoodieWriteClient.commit(BaseHoodieWriteClient.java:226)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.doCommit(StreamWriteOperatorCoordinator.java:617)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.commitInstant(StreamWriteOperatorCoordinator.java:602)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.lambda$commitInstants$10(StreamWriteOperatorCoordinator.java:557)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) 
~[?:1.8.0_281]
        at 
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) 
~[?:1.8.0_281]
        at 
java.util.concurrent.ConcurrentSkipListMap$EntrySpliterator.forEachRemaining(ConcurrentSkipListMap.java:3535)
 ~[?:1.8.0_281]
        at 
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) 
~[?:1.8.0_281]
        at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) 
~[?:1.8.0_281]
        at 
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) 
~[?:1.8.0_281]
        at 
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
~[?:1.8.0_281]
        at 
java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) 
~[?:1.8.0_281]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.commitInstants(StreamWriteOperatorCoordinator.java:557)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.StreamWriteOperatorCoordinator.lambda$notifyCheckpointComplete$3(StreamWriteOperatorCoordinator.java:299)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        at 
org.apache.hudi.sink.utils.NonThrownExecutor.lambda$wrapAction$0(NonThrownExecutor.java:131)
 ~[hudi-flink1.18-bundle-1.1.1.jar:1.1.1]
        ... 3 more
   2026-07-16 03:02:37,305 INFO  org.apache.flink.runtime.jobmaster.JobMaster   
              [] - 4 tasks will be restarted to recover from a global failure.
   2026-07-16 03:02:37,306 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - Job 
insert-into_hoodie_catalog.yuqi_oldetl_test.t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock
 (a9775e03fcf62008b13b248ee8693bb9) switched from state RUNNING to RESTARTING.
   2026-07-16 03:02:37,307 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - 
compact_plan_generate (1/1) 
(f49a8f6332f3f91794ef2cae46a713ef_2c190601d2e331d8fbe808700bcf6c4e_0_2) 
switched from RUNNING to CANCELING.
   2026-07-16 03:02:37,308 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - compact_task 
-> Sink: compact_commit (1/1) 
(f49a8f6332f3f91794ef2cae46a713ef_edd9ec76dbb7cd545d93de35f574c84e_0_2) 
switched from RUNNING to CANCELING.
   2026-07-16 03:02:37,308 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - Source: 
source_kafka_01[1] -> Calc[2] -> ConstraintEnforcer[3] -> 
row_data_to_hoodie_record (1/1) 
(f49a8f6332f3f91794ef2cae46a713ef_cbc357ccb763df2852fee8c4fc7d55f2_0_2) 
switched from RUNNING to CANCELING.
   2026-07-16 03:02:37,308 INFO  
org.apache.flink.runtime.source.coordinator.SourceCoordinator [] - Removing 
registered reader after failure for subtask 0 (#2) of source Source: 
source_kafka_01[1].
   2026-07-16 03:02:37,309 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - bucket_write: 
yuqi_oldetl_test.t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock 
(1/1) (f49a8f6332f3f91794ef2cae46a713ef_b754eda8ef527d9494a0b43e9bf7abf3_0_2) 
switched from RUNNING to CANCELING.
   2026-07-16 03:02:37,325 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - 
compact_plan_generate (1/1) 
(f49a8f6332f3f91794ef2cae46a713ef_2c190601d2e331d8fbe808700bcf6c4e_0_2) 
switched from CANCELING to CANCELED.
   2026-07-16 03:02:37,326 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - compact_task 
-> Sink: compact_commit (1/1) 
(f49a8f6332f3f91794ef2cae46a713ef_edd9ec76dbb7cd545d93de35f574c84e_0_2) 
switched from CANCELING to CANCELED.
   2026-07-16 03:02:37,330 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - bucket_write: 
yuqi_oldetl_test.t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock 
(1/1) (f49a8f6332f3f91794ef2cae46a713ef_b754eda8ef527d9494a0b43e9bf7abf3_0_2) 
switched from CANCELING to CANCELED.
   2026-07-16 03:02:37,335 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - Source: 
source_kafka_01[1] -> Calc[2] -> ConstraintEnforcer[3] -> 
row_data_to_hoodie_record (1/1) 
(f49a8f6332f3f91794ef2cae46a713ef_cbc357ccb763df2852fee8c4fc7d55f2_0_2) 
switched from CANCELING to CANCELED.
   2026-07-16 03:02:37,336 INFO  
org.apache.flink.runtime.resourcemanager.slotmanager.FineGrainedSlotManager [] 
- Clearing resource requirements of job a9775e03fcf62008b13b248ee8693bb9
   2026-07-16 03:02:37,337 INFO  
org.apache.flink.runtime.resourcemanager.slotmanager.FineGrainedTaskManagerTracker
 [] - Clear all pending allocations for job a9775e03fcf62008b13b248ee8693bb9.
   2026-07-16 03:03:37,311 INFO  
org.apache.flink.runtime.executiongraph.ExecutionGraph       [] - Job 
insert-into_hoodie_catalog.yuqi_oldetl_test.t_info_instl_reservation_order_rtm11_chunguang_11_9_memlock
 (a9775e03fcf62008b13b248ee8693bb9) switched from state RESTARTING to RUNNING.
   2026-07-16 03:03:37,312 INFO  
org.apache.flink.runtime.checkpoint.CheckpointCoordinator    [] - Restoring job 
a9775e03fcf62008b13b248ee8693bb9 from Checkpoint 74 @ 1784142138303 for 
a9775e03fcf62008b13b248ee8693bb9 located at 
hdfs://rtcluster/user/flink/checkpoints/a9775e03fcf62008b13b248ee8693bb9/chk-74.
   2026-07-16 03:03:37,313 INFO  
org.apache.flink.runtime.checkpoint.CheckpointCoordinator    [] - No master 
state to restore
   2026-07-16 03:03:37,313 INFO  
org.apache.flink.runtime.operators.coordination.RecreateOnResetOperatorCoordinator
 [] - Resetting coordinator to checkpoint.
   2026-07-16 03:03:37,314 INFO  
org.apache.flink.runtime.source.coordinator.SourceCoordinator [] - Closing 
SourceCoordinator for source Source: source_kafka_01[1].
   2026-07-16 03:03:37,317 INFO  
org.apache.flink.kafka.shaded.org.apache.kafka.common.utils.AppInfoParser [] - 
App info kafka.admin.client for 
hudi-11-test-1-ym3_11_mem94-enumerator-admin-client unregistered
   2026-07-16 03:03:37,318 INFO  
org.apache.flink.kafka.shaded.org.apache.kafka.common.metrics.Metrics [] - 
Metrics scheduler closed
   2026-07-16 03:03:37,319 INFO  
org.apache.flink.kafka.shaded.org.apache.kafka.common.metrics.Metrics [] - 
Closing reporter 
org.apache.flink.kafka.shaded.org.apache.kafka.common.metrics.JmxReporter
   2026-07-16 03:03:37,319 INFO  
org.apache.flink.kafka.shaded.org.apache.kafka.common.metrics.Metrics [] - 
Metrics reporters closed
   2026-07-16 03:03:37,320 INFO  
org.apache.flink.runtime.source.coordinator.SourceCoordinator [] - Source 
coordinator for source Source: source_kafka_01[1] closed.
   2026-07-16 03:03:37,321 INFO  
org.apache.flink.runtime.source.coordinator.SourceCoordinator [] - Restoring 
SplitEnumerator of source Source: source_kafka_01[1] from checkpoint.
   2026-07-16 03:03:37,322 INFO  
org.apache.flink.runtime.source.coordinator.SourceCoordinator [] - Starting 
split enumerator for source Source: source_kafka_01[1].
   2026-07-16 03:03:37,332 INFO  
org.apache.flink.kafka.shaded.org.apache.kafka.clients.admin.AdminClientConfig 
[] - AdminClientConfig values: 
        auto.include.jmx.reporter = true
        bootstrap.servers = [bd-dw-kafka-n1.bestpay.mid:9092, 
bd-dw-kafka-n2.bestpay.mid:9092, bd-dw-kafka-n3.bestpay.mid:9092, 
bd-dw-kafka-n4.bestpay.mid:9092, bd-dw-kafka-n5.bestpay.mid:9092]
        client.dns.lookup = use_all_dns_ips
        client.id = hudi-11-test-1-ym3_11_mem94-enumerator-admin-client
        connections.max.idle.ms = 300000
        default.api.timeout.ms = 60000
        metadata.max.age.ms = 300000
        metric.reporters = []
        metrics.num.samples = 2
        metrics.recording.level = INFO
        metrics.sample.window.ms = 30000
        receive.buffer.bytes = 65536
        reconnect.backoff.max.ms = 1000
        reconnect.backoff.ms = 50
        request.timeout.ms = 30000
        retries = 2147483647
        retry.backoff.ms = 100
        sasl.client.callback.handler.class = null
        sasl.jaas.config = null
        sasl.kerberos.kinit.cmd = /usr/bin/kinit
        sasl.kerberos.min.time.before.relogin = 60000
        sasl.kerberos.service.name = null
        sasl.kerberos.ticket.renew.jitter = 0.05
        sasl.kerberos.ticket.renew.window.factor = 0.8
        sasl.login.callback.handler.class = null
        sasl.login.class = null
        sasl.login.connect.timeout.ms = null
        sasl.login.read.timeout.ms = null
        sasl.login.refresh.buffer.seconds = 300
        sasl.login.refresh.min.period.seconds = 60
        sasl.login.refresh.window.factor = 0.8
        sasl.login.refresh.window.jitter = 0.05
        sasl.login.retry.backoff.max.ms = 10000
        sasl.login.retry.backoff.ms = 100
        sasl.mechanism = GSSAPI
        sasl.oauthbearer.clock.skew.seconds = 30
        sasl.oauthbearer.expected.audience = null
        sasl.oauthbearer.expected.issuer = null
        sasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000
        sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000
        sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100
        sasl.oauthbearer.jwks.endpoint.url = null
        sasl.oauthbearer.scope.claim.name = scope
        sasl.oauthbearer.sub.claim.name = sub
        sasl.oauthbearer.token.endpoint.url = null
        security.protocol = PLAINTEXT
        security.providers = null
        send.buffer.bytes = 131072
        socket.connection.setup.timeout.max.ms = 30000
        socket.connection.setup.timeout.ms = 10000
        ssl.cipher.suites = null
        ssl.enabled.protocols = [TLSv1.2]
        ssl.endpoint.identification.algorithm = https
        ssl.engine.factory.class = null
        ssl.key.password = null
        ssl.keymanager.algorithm = SunX509
        ssl.keystore.certificate.chain = null
        ssl.keystore.key = null
        ssl.keystore.location = null
        ssl.keystore.password = null
        ssl.keystore.type = JKS
        ssl.protocol = TLSv1.2
        ssl.provider = null
        ssl.secure.random.implementation = null
        ssl.trustmanager.algorithm = PKIX
        ssl.truststore.certificates = null
        ssl.truststore.location = null
        ssl.truststore.password = null
        ssl.truststore.type = JKS
   
    `


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to