diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java index e86f736d444..7eac71fda0a 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/EntityRepository.java @@ -2822,6 +2822,13 @@ public abstract class EntityRepository { return; } + if (operation == Operation.PUT && updatedExtension == null) { + // Revert change to non-empty extension if it is being updated by a PUT request + // For PUT operations, existing extension can't be removed. + updated.setExtension(origExtension); + return; + } + List added = new ArrayList<>(); List deleted = new ArrayList<>(); JsonNode origFields = JsonUtils.valueToTree(origExtension);