weimingdiit commented on code in PR #2435:
URL: https://github.com/apache/auron/pull/2435#discussion_r3682429775


##########
thirdparty/auron-iceberg/src/test/scala/org/apache/auron/iceberg/AuronIcebergIntegrationSuite.scala:
##########
@@ -700,39 +742,45 @@ class AuronIcebergIntegrationSuite
     }
   }
 
-  test("iceberg changelog scan falls back when delete changes exist") {
-    withTable("local.db.t_changelog_delete") {
-      withTempView("t_changelog_delete_changes") {
+  test("iceberg native scan supports mixed insert and full-data-file delete 
changelog scan") {

Review Comment:
   Thanks for pointing this out. I rechecked the behavior of the replaced test 
and Iceberg 1.10.1.
   
   The replaced test did not actually exercise a row-level delete. In the CI 
run, the insert produced two data files and the DELETE removed one complete 
data file, so it covered a DeletedDataFileScanTask with empty 
existingDeletes(), which is the case this PR now makes native.
   
   A genuine position-delete changelog case cannot currently reach Auron's 
fallback guard. BaseIncrementalChangelogScan rejects any snapshot in the 
changelog range that contains delete manifests before Auron receives the 
planned tasks. In addition, Iceberg 1.10.1's CreateDataFileChangeTasks 
constructs both AddedRowsScanTask and DeletedDataFileScanTask with NO_DELETES, 
so a DeletedDataFileScanTask with non-empty existingDeletes() cannot be 
produced through the public changelog planner.
   
   The existing "iceberg scan falls back when delete files exist" test still 
covers position-delete fallback for regular Iceberg scans. It explicitly 
creates a position delete, verifies that the planned FileScanTask contains 
deletes, and checks that NativeIcebergTableScan is not used.
   
   Given these limitations, I have not added a changelog integration test that 
would either fail inside Iceberg before reaching Auron or not exercise the 
intended guard. If useful, I can add a focused synthetic task-level test for 
the existingDeletes() guard instead.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to