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

   This updates inheritance from #18171 to handle first row ID assignment.
   
   First row ID assignment required distinguishing between uncommitted and 
committed in `V4ManfiestReader`. When reading committed files, a first row ID 
is always present for v3 and later snapshots or always null for v2 and earlier 
snapshots. Uncommitted files may be read during a commit to compact or rewrite 
leaf manifests. First row ID should be unchanged when reading these uncommitted 
files because there is no manifest-level first row ID to assign from.
   
   This also handles snapshot ID and sequence number inheritance when reading 
uncommitted files. In the v3 and earlier `ManifestReader`, this was handled by 
using `InheritableManifestFactory.forCopy`, but there is no need for a separate 
path.
   
   Test plan:
   - In `TestTrackingStruct`:
       - Test each entry status with first row ID inheritance
       - Test both missing/null and existing first row ID values with non-null 
next row ID
       - Test null next row ID for pre-v3 snapshots
   - In `TestV4ManifestReader`:
       - Rely on assignment behavior from `TrackingStruct` validated in 
`TestTrackingStruct`
       - Test both committed and uncommitted cases for first row ID
       - Test existing first row ID, unassigned first row ID
       - Test null first row ID from the manifest for pre-v3 snapshots
       - Add tests for snapshot ID, sequence number when reading uncommitted 
manifests


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