From 5927e385cc6242d638b9ec15db33fc3221944f0f Mon Sep 17 00:00:00 2001 From: brokkoli71 Date: Tue, 20 Aug 2024 16:22:04 +0200 Subject: [PATCH] only update non empty chunks offset --- zarrita/sharding.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zarrita/sharding.py b/zarrita/sharding.py index 313a9c6..e20706f 100644 --- a/zarrita/sharding.py +++ b/zarrita/sharding.py @@ -191,7 +191,8 @@ async def finalize( ) -> BytesLike: index_bytes = await index_encoder(self.index) if index_location == ShardingCodecIndexLocation.start: - self.index.offsets_and_lengths[..., 0] += len(index_bytes) + empty_chunks_mask = self.index.offsets_and_lengths[..., 0] == MAX_UINT_64 + self.index.offsets_and_lengths[~empty_chunks_mask, 0] += len(index_bytes) index_bytes = await index_encoder( self.index ) # encode again with corrected offsets