From c47e61b4eccec469d78dcc6eb881881e97a854e3 Mon Sep 17 00:00:00 2001 From: Mukund Thakur Date: Wed, 25 Mar 2026 11:48:54 -0500 Subject: [PATCH 1/2] Core: Add test to validate we can't delete map value during schema evolution --- .../java/org/apache/iceberg/TestSchemaUpdate.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java b/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java index fb942dde2aa2..b26b2a472cd8 100644 --- a/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java +++ b/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java @@ -1181,6 +1181,17 @@ public void testDeleteMapKey() { .hasMessageStartingWith("Cannot delete map keys"); } + @Test + public void testDeleteMapValue() { + assertThatThrownBy( + () -> + new SchemaUpdate(SCHEMA, SCHEMA_LAST_COLUMN_ID) + .deleteColumn("locations.value") + .apply()) + .isInstanceOf(IllegalArgumentException.class) + .hasMessageStartingWith("Cannot delete value type from map"); + } + @Test public void testAddFieldToMapKey() { assertThatThrownBy( From 93999b2a03b3800a43261131d99d7542b0d1f522 Mon Sep 17 00:00:00 2001 From: Mukund Thakur Date: Thu, 26 Mar 2026 13:35:33 -0500 Subject: [PATCH 2/2] spotless --- .../test/java/org/apache/iceberg/TestSchemaUpdate.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java b/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java index b26b2a472cd8..5325e4013c68 100644 --- a/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java +++ b/core/src/test/java/org/apache/iceberg/TestSchemaUpdate.java @@ -1185,11 +1185,11 @@ public void testDeleteMapKey() { public void testDeleteMapValue() { assertThatThrownBy( () -> - new SchemaUpdate(SCHEMA, SCHEMA_LAST_COLUMN_ID) - .deleteColumn("locations.value") - .apply()) - .isInstanceOf(IllegalArgumentException.class) - .hasMessageStartingWith("Cannot delete value type from map"); + new SchemaUpdate(SCHEMA, SCHEMA_LAST_COLUMN_ID) + .deleteColumn("locations.value") + .apply()) + .isInstanceOf(IllegalArgumentException.class) + .hasMessageStartingWith("Cannot delete value type from map"); } @Test