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

   Pins the puffin envelope shape around a deletion-vector-v1 blob without 
depending on the in-flight roaring decoder (#866). The fixture is two files:
   
     - puffin/testdata/deletion-vector-v1-payload.bin — a Java-produced 64-bit 
roaring DV payload lifted directly from apache/iceberg test resources 
(small-alternating-values-position-index.bin, 50 bytes; bitmap encodes 
positions 1, 3, 5, 7, 9).
   
     - puffin/testdata/deletion-vector-v1.puffin — the same payload wrapped by 
puffin.Writer with the spec-canonical metadata (snapshot-id=-1, 
sequence-number=-1, deletion-vector-v1 blob type, referenced-data-file and 
cardinality properties).
   
   The test asserts both layers. Reader side: blob count, type, spec-mandated 
invariants, properties, and that ReadBlob round-trips the inner payload 
byte-for-byte equal to the standalone Java fixture. Writer side: regenerates 
the envelope in-memory and asserts byte equality against the on-disk fixture. 
Without the writer-side check the test was reader-only round-trip and writer 
drift would silently calcify into the next regeneration.
   
   Honest framing: this is a Go-writer wire-format pin with a Java- equivalent 
inner payload, not a strong Java cross-impl pin. The basic envelope shape is 
cross-checked by TestWriterBitIdenticalWithJava, but that test does not 
exercise empty Fields arrays or multi-key blob Properties — both of which this 
fixture relies on — and JSON key ordering of blob Properties is encoder-defined.
   
   A regen test gated on REGEN_FIXTURES=1 reproduces the .puffin from the inner 
payload and self-validates by reading the blob back before overwriting the 
on-disk file.
   
   Closes #1008.


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