Skip to content

Allow appending to an empty file created by the old accessor.

Paal Kvamme requested to merge kvamme62/old-accessor-alignment into master

For on-prem files, OpenZGY should be able to open the file for update regardless of whether it was written by the old or the new accessor. This didn't quite work due to differences in padding.

The solution is to add padding before the start of every uncompressed brick to align it with the brick size. This happens in addition to the current code to add padding at the end of the header area.

In most cases this will not make any difference. After the header has been padded, and if only uncompressed bricks are written, they will all end up aligned anyway.

If updating an empty file created by the old ZGY accessor the change is needed to avoid ending up with an uncompressed version 3 ZGY file with unaligned data bricks. In addition to violating the rule that v3 bricks are aligned, this case also caused an error when the unpadded header was updated by OpenZGY with a padded header. Thereby overwriting part of the first data brick.

If a file is written with a mix of compressed and uncompressed data bricks this change might waste some space on the file. This is unlikely to become a real problem.

Added a unit test to verify the fix.

Merge request reports