From 24a882022518221cf67c9947b2cd5304260ae2ac Mon Sep 17 00:00:00 2001 From: water <672684719@qq.com> Date: Fri, 7 Aug 2026 22:24:26 +0800 Subject: [PATCH] fix: guard against null metadata in checkCurrentMetadataLocation --- .../java/org/apache/iceberg/BaseMetastoreTableOperations.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java b/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java index f1223705c11d..89f8593a34a4 100644 --- a/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java +++ b/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java @@ -333,6 +333,10 @@ protected CommitStatus checkCommitStatusStrict(String newMetadataLocation, Table */ private boolean checkCurrentMetadataLocation(String newMetadataLocation) { TableMetadata metadata = refresh(); + if (metadata == null) { + // the table does not exist in the catalog, so the commit could not have landed + return false; + } String currentMetadataFileLocation = metadata.metadataFileLocation(); return currentMetadataFileLocation.equals(newMetadataLocation) || metadata.previousFiles().stream()