Skip to content

Commit d60f62f

Browse files
committed
Core: Remove deprecated RemoveSnapshot
1 parent d7f8e54 commit d60f62f

7 files changed

Lines changed: 20 additions & 52 deletions

File tree

.palantir/revapi.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,6 +1178,9 @@ acceptedBreaks:
11781178
new: "class org.apache.iceberg.Metrics"
11791179
justification: "Java serialization across versions is not guaranteed"
11801180
org.apache.iceberg:iceberg-core:
1181+
- code: "java.class.removed"
1182+
old: "class org.apache.iceberg.MetadataUpdate.RemoveSnapshot"
1183+
justification: "Removing deprecations for 1.10.0"
11811184
- code: "java.method.removed"
11821185
old: "method java.lang.String[] org.apache.iceberg.hadoop.Util::blockLocations(org.apache.iceberg.CombinedScanTask,\
11831186
\ org.apache.hadoop.conf.Configuration)"

core/src/main/java/org/apache/iceberg/MetadataUpdate.java

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -328,31 +328,13 @@ public void applyTo(TableMetadata.Builder metadataBuilder) {
328328
}
329329
}
330330

331-
/**
332-
* @deprecated since 1.9.0, will be removed in 1.10.0; Use {@link MetadataUpdate.RemoveSnapshots}
333-
* instead.
334-
*/
335-
@Deprecated
336-
class RemoveSnapshot implements MetadataUpdate {
337-
private final long snapshotId;
338-
339-
public RemoveSnapshot(long snapshotId) {
340-
this.snapshotId = snapshotId;
341-
}
342-
343-
public long snapshotId() {
344-
return snapshotId;
345-
}
346-
347-
@Override
348-
public void applyTo(TableMetadata.Builder metadataBuilder) {
349-
metadataBuilder.removeSnapshots(ImmutableSet.of(snapshotId));
350-
}
351-
}
352-
353331
class RemoveSnapshots implements MetadataUpdate {
354332
private final Set<Long> snapshotIds;
355333

334+
public RemoveSnapshots(Long snapshotId) {
335+
this.snapshotIds = ImmutableSet.of(snapshotId);
336+
}
337+
356338
public RemoveSnapshots(Set<Long> snapshotIds) {
357339
this.snapshotIds = snapshotIds;
358340
}

core/src/main/java/org/apache/iceberg/MetadataUpdateParser.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import java.util.Set;
2727
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
2828
import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
29-
import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
3029
import org.apache.iceberg.relocated.com.google.common.collect.Iterables;
3130
import org.apache.iceberg.util.JsonUtil;
3231
import org.apache.iceberg.view.ViewVersionParser;
@@ -149,7 +148,6 @@ private MetadataUpdateParser() {}
149148
.put(MetadataUpdate.SetPartitionStatistics.class, SET_PARTITION_STATISTICS)
150149
.put(MetadataUpdate.RemovePartitionStatistics.class, REMOVE_PARTITION_STATISTICS)
151150
.put(MetadataUpdate.AddSnapshot.class, ADD_SNAPSHOT)
152-
.put(MetadataUpdate.RemoveSnapshot.class, REMOVE_SNAPSHOTS)
153151
.put(MetadataUpdate.RemoveSnapshots.class, REMOVE_SNAPSHOTS)
154152
.put(MetadataUpdate.RemoveSnapshotRef.class, REMOVE_SNAPSHOT_REF)
155153
.put(MetadataUpdate.SetSnapshotRef.class, SET_SNAPSHOT_REF)
@@ -229,12 +227,7 @@ public static void toJson(MetadataUpdate metadataUpdate, JsonGenerator generator
229227
break;
230228
case REMOVE_SNAPSHOTS:
231229
MetadataUpdate.RemoveSnapshots removeSnapshots;
232-
if (metadataUpdate instanceof MetadataUpdate.RemoveSnapshot) {
233-
Long snapshotId = ((MetadataUpdate.RemoveSnapshot) metadataUpdate).snapshotId();
234-
removeSnapshots = new MetadataUpdate.RemoveSnapshots(ImmutableSet.of(snapshotId));
235-
} else {
236-
removeSnapshots = (MetadataUpdate.RemoveSnapshots) metadataUpdate;
237-
}
230+
removeSnapshots = (MetadataUpdate.RemoveSnapshots) metadataUpdate;
238231
writeRemoveSnapshots(removeSnapshots, generator);
239232
break;
240233
case REMOVE_SNAPSHOT_REF:
@@ -563,7 +556,7 @@ private static MetadataUpdate readRemoveSnapshots(JsonNode node) {
563556
MetadataUpdate metadataUpdate;
564557
if (snapshotIds.size() == 1) {
565558
Long snapshotId = Iterables.getOnlyElement(snapshotIds);
566-
metadataUpdate = new MetadataUpdate.RemoveSnapshot(snapshotId);
559+
metadataUpdate = new MetadataUpdate.RemoveSnapshots(snapshotId);
567560
} else {
568561
metadataUpdate = new MetadataUpdate.RemoveSnapshots(snapshotIds);
569562
}

core/src/main/java/org/apache/iceberg/TableMetadata.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1838,11 +1838,7 @@ private static List<HistoryEntry> updateSnapshotLog(
18381838
Set<Long> intermediateSnapshotIds = intermediateSnapshotIdSet(changes, currentSnapshotId);
18391839
boolean hasIntermediateSnapshots = !intermediateSnapshotIds.isEmpty();
18401840
boolean hasRemovedSnapshots =
1841-
changes.stream()
1842-
.anyMatch(
1843-
change ->
1844-
change instanceof MetadataUpdate.RemoveSnapshots
1845-
|| change instanceof MetadataUpdate.RemoveSnapshot);
1841+
changes.stream().anyMatch(change -> change instanceof MetadataUpdate.RemoveSnapshots);
18461842

18471843
if (!hasIntermediateSnapshots && !hasRemovedSnapshots) {
18481844
return snapshotLog;

core/src/test/java/org/apache/iceberg/TestMetadataUpdateParser.java

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ public void testRemoveSnapshotFromJson() {
422422
String action = MetadataUpdateParser.REMOVE_SNAPSHOTS;
423423
long snapshotId = 2L;
424424
String json = String.format("{\"action\":\"%s\",\"snapshot-ids\":[2]}", action);
425-
MetadataUpdate expected = new MetadataUpdate.RemoveSnapshot(snapshotId);
425+
MetadataUpdate expected = new MetadataUpdate.RemoveSnapshots(snapshotId);
426426
assertEquals(action, expected, MetadataUpdateParser.fromJson(json));
427427
}
428428

@@ -431,7 +431,7 @@ public void testRemoveSnapshotToJson() {
431431
String action = MetadataUpdateParser.REMOVE_SNAPSHOTS;
432432
long snapshotId = 2L;
433433
String expected = String.format("{\"action\":\"%s\",\"snapshot-ids\":[2]}", action);
434-
MetadataUpdate update = new MetadataUpdate.RemoveSnapshot(snapshotId);
434+
MetadataUpdate update = new MetadataUpdate.RemoveSnapshots(snapshotId);
435435
String actual = MetadataUpdateParser.toJson(update);
436436
assertThat(actual)
437437
.as("Remove snapshots should serialize to the correct JSON value")
@@ -1030,15 +1030,9 @@ public void assertEquals(
10301030
(MetadataUpdate.AddSnapshot) expectedUpdate, (MetadataUpdate.AddSnapshot) actualUpdate);
10311031
break;
10321032
case MetadataUpdateParser.REMOVE_SNAPSHOTS:
1033-
if (actualUpdate instanceof MetadataUpdate.RemoveSnapshot) {
1034-
assertEqualsRemoveSnapshot(
1035-
(MetadataUpdate.RemoveSnapshot) expectedUpdate,
1036-
(MetadataUpdate.RemoveSnapshot) actualUpdate);
1037-
} else {
1038-
assertEqualsRemoveSnapshots(
1039-
(MetadataUpdate.RemoveSnapshots) expectedUpdate,
1040-
(MetadataUpdate.RemoveSnapshots) actualUpdate);
1041-
}
1033+
assertEqualsRemoveSnapshot(
1034+
(MetadataUpdate.RemoveSnapshots) expectedUpdate,
1035+
(MetadataUpdate.RemoveSnapshots) actualUpdate);
10421036
break;
10431037
case MetadataUpdateParser.REMOVE_SNAPSHOT_REF:
10441038
assertEqualsRemoveSnapshotRef(
@@ -1240,10 +1234,10 @@ private static void assertEqualsAddSnapshot(
12401234
}
12411235

12421236
private static void assertEqualsRemoveSnapshot(
1243-
MetadataUpdate.RemoveSnapshot expected, MetadataUpdate.RemoveSnapshot actual) {
1244-
assertThat(actual.snapshotId())
1237+
MetadataUpdate.RemoveSnapshots expected, MetadataUpdate.RemoveSnapshots actual) {
1238+
assertThat(actual.snapshotIds())
12451239
.as("Snapshot to remove should be the same")
1246-
.isEqualTo(expected.snapshotId());
1240+
.isEqualTo(expected.snapshotIds());
12471241
}
12481242

12491243
private static void assertEqualsRemoveSnapshots(

core/src/test/java/org/apache/iceberg/TestUpdateRequirements.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -704,7 +704,7 @@ public void addAndRemoveSnapshot() {
704704

705705
requirements =
706706
UpdateRequirements.forUpdateTable(
707-
metadata, ImmutableList.of(new MetadataUpdate.RemoveSnapshot(0L)));
707+
metadata, ImmutableList.of(new MetadataUpdate.RemoveSnapshots(0L)));
708708

709709
assertThat(requirements)
710710
.hasSize(1)

core/src/test/java/org/apache/iceberg/rest/requests/TestCommitTransactionRequestParser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public void roundTripSerde() {
9797
new UpdateRequirement.AssertDefaultSpecID(4),
9898
new UpdateRequirement.AssertCurrentSchemaID(24)),
9999
ImmutableList.of(
100-
new MetadataUpdate.RemoveSnapshot(101L), new MetadataUpdate.SetCurrentSchema(25)));
100+
new MetadataUpdate.RemoveSnapshots(101L), new MetadataUpdate.SetCurrentSchema(25)));
101101

102102
CommitTransactionRequest request =
103103
new CommitTransactionRequest(

0 commit comments

Comments
 (0)