Added extensive WARN-level debug messages to trace the exact sequence of:
- Every write() operation with position tracking
- All getPos() calls with caller stack traces
- flush() and flushInternal() operations
- Buffer flushes and position updates
- Metadata updates
BREAKTHROUGH FINDING:
- Last getPos() call: returns 1252 bytes (at writeCall #465)
- 5 more writes happen: add 8 bytes → buffer.position()=1260
- close() flushes all 1260 bytes to disk
- But Parquet footer records offsets based on 1252!
Result: 8-byte offset mismatch in Parquet footer metadata
→ Causes EOFException: 'Still have: 78 bytes left'
The 78 bytes is NOT missing data - it's a metadata calculation error
due to Parquet footer offsets being stale by 8 bytes.