Topic: How Avro's block structure for arrays/maps enables skipping without parsing elements, and why the encoder never uses negative counts

Date: 2026-05-29

Time: 12:43

I don't have permission to read from the target repo at /Users/ben/git/ddia-implementations/. The observations only cover the first 200 lines of the 695-line file — enough to see the zigzag/varint primitives and the schema parser, but not the AvroEncoder.encode or AvroDecoder.decode methods where the array/map block encoding actually lives.

However, the entry at entries/2026/05/29/avro-serializer-avro_serializer.md was written from a full read of the file and documents the behavior in detail. Let me provide the explanation based on what we have, and flag the gap.