{"record":{"id":"cce76a7d913bc56a","repo":"apache/iceberg","slug":"for-table-with-at-exception-closin-cce76a","errorCode":null,"errorMessage":"[For table {} with {}[{}] at {}]: Exception closing commit service","messagePattern":"\\[For table (.+?) with (.+?)\\[(.+?)\\] at (.+?)\\]: Exception closing commit service","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"flink/v2.3/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewriteCommitter.java","lineNumber":145,"sourceCode":"      errorCounter.inc();\n    }\n  }\n\n  @Override\n  public void processWatermark(Watermark mark) throws Exception {\n    try {\n      if (commitService != null) {\n        commitService.close();\n      }\n\n      LOG.info(\n          DataFileRewritePlanner.MESSAGE_PREFIX + \"Successfully completed data file compaction\",\n          tableName,\n          taskName,\n          taskIndex,\n          mark.getTimestamp());\n    } catch (Exception e) {\n      LOG.warn(\n          DataFileRewritePlanner.MESSAGE_PREFIX + \"Exception closing commit service\",\n          tableName,\n          taskName,\n          taskIndex,\n          mark.getTimestamp(),\n          e);\n      output.collect(TaskResultAggregator.ERROR_STREAM, new StreamRecord<>(e));\n      errorCounter.inc();\n    }\n\n    // Cleanup\n    this.commitService = null;\n\n    super.processWatermark(mark);\n  }\n\n  @Override\n  public void close() throws IOException {","sourceCodeStart":127,"sourceCodeEnd":163,"githubUrl":"https://github.com/apache/iceberg/blob/86d9c8fc543e7c56c9f624eb725f76c9baff9570/flink/v2.3/flink/src/main/java/org/apache/iceberg/flink/maintenance/operator/DataFileRewriteCommitter.java#L127-L163","documentation":"DataFileRewriteCommitter.processWatermark catches Exceptions while closing the commit service at the watermark (final flush of pending rewrite groups) and logs this warning with table/task/timestamp context. Pending groups that could not be committed are lost for this window.","triggerScenarios":"Exception thrown by commitService.close()/commit flush in processWatermark — e.g. commit failure against the table while finalizing compaction results on the watermark.","commonSituations":"Catalog unavailable or commit conflict at the end of a maintenance window; FileIO errors writing manifest/commit data; expired snapshot references.","solutions":["Inspect the attached exception for the underlying commit failure","Re-run data file compaction for the table (affected groups were not committed)","Check catalog availability and concurrent-writer conflicts at commit time","Verify FileIO/storage health before the next maintenance window"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// verify catalog availability before maintenance window\n catalog.table(name).refresh();","typeGuard":null,"tryCatchPattern":"try {\n  commitService.close();\n} catch (Exception e) {\n  LOG.warn(MESSAGE_PREFIX + \"Exception closing commit service\", ...);\n  // re-run compaction for uncommitted groups\n}","preventionTips":["Ensure catalog and storage are healthy across the maintenance window","Schedule maintenance outside peak commit periods to avoid conflicts"],"tags":["flink","maintenance","compaction","watermark","commit"],"backgroundTag":"maintenance-task-failed","analyzedSha":"86d9c8fc543e7c56c9f624eb725f76c9baff9570","analyzedAt":"2026-09-12T00:46:39.097Z","contentChangedAt":"2026-09-12T00:46:39.097Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}