fallintoplace opened a new pull request, #1306:
URL: https://github.com/apache/iceberg-go/pull/1306

   Summary
   
   - encode manifest entries before updating ManifestWriter counters and 
partition summaries
   - encode built-in data files through an Avro-field clone so partition 
conversion does not mutate the caller's DataFile
   - add regression coverage for an encode failure leaving manifest writer 
state unchanged
   
   Why
   
   ManifestWriter.addEntry updated file counts, row counts, partition 
summaries, and data file partition data before prepareEntry and writer.Encode 
could fail. If Encode rejected an entry, the writer looked as if the entry had 
been written even though it was not in the manifest.
   
   This keeps those mutations on the success side of Encode.
   
   Testing
   
   - go test . -run 
'^TestManifests/TestManifestWriterDoesNotCommitStateOnEncodeError$' -count=1
   - go test . -count=1
   - go test ./table -count=1
   - go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run 
--timeout=10m . ./table/...
   - git diff --check


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