lilei1128 opened a new pull request, #16980:
URL: https://github.com/apache/iceberg/pull/16980

     When multiple worker threads processed manifests in parallel via
     Tasks.range(), expression-matched files were written directly to the
     non-thread-safe deleteFiles set, causing data races and incorrect
     deleted-file counts.
     
     Close #16978
   
     Fix by collecting expression-deleted files into a ConcurrentLinkedQueue
     during parallel filtering, then merging into deleteFiles on the calling
     thread after all workers complete. Also convert duplicateDeleteCount
     from int to AtomicInteger to safely handle concurrent increments across
     worker threads.
   
     Add a regression test that appends 4 files in separate commits (one
     manifest each) and deletes all via overwriteByRowFilter with a 4-thread
     pool, asserting the snapshot summary reports exactly 4 deleted files.


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to