amogh-jahagirdar commented on code in PR #13614: URL: https://github.com/apache/iceberg/pull/13614#discussion_r2224259963
########## core/src/test/java/org/apache/iceberg/TestRemoveSnapshots.java: ########## @@ -256,8 +257,40 @@ public void testExpireOlderThanWithRollback() { ); } + @TestTemplate + public void testCannotCleanupIncrementallyWithRollback() { + assumeThat(incrementalCleanup).isTrue(); + + table.newAppend().appendFile(FILE_A).appendFile(FILE_B).commit(); + + Snapshot firstSnapshot = table.currentSnapshot(); + assertThat(firstSnapshot.allManifests(table.io())).hasSize(1); + + waitUntilAfter(table.currentSnapshot().timestampMillis()); + + table.newDelete().deleteFile(FILE_B).commit(); + + Snapshot secondSnapshot = table.currentSnapshot(); + + table.manageSnapshots().rollbackTo(firstSnapshot.snapshotId()).commit(); + + long tAfterCommits = waitUntilAfter(secondSnapshot.timestampMillis()); + + Set<String> deletedFiles = Sets.newHashSet(); + assertThatThrownBy( + () -> + removeSnapshots(table) + .expireOlderThan(tAfterCommits) + .deleteWith(deletedFiles::add) + .commit()) + .isInstanceOf(UnsupportedOperationException.class) + .hasMessage( + "Cannot incrementally clean files when snapshots outside of main ancestry have been removed"); + } + @TestTemplate public void testExpireOlderThanWithRollbackAndMergedManifests() { + assumeThat(incrementalCleanup).isFalse(); Review Comment: I didn't copy this case again for the incremental failure case, since this case is no different than the case above beyond merging manifests or not; the current approach blanket prevents performing incremental cleanup in case of rollbacks so both cases just fail the same. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org