Skip to content

Conversation

@jan-auer
Copy link
Member

@jan-auer jan-auer commented Oct 31, 2025

Encode metadata using JSON instead of bincode. This fixes two issues:

  1. Governance and evolution. We can now add and reorder metdata fields without
    risking to break past consumers.
  2. Partial serialization: For cases where we need to partially serialize
    metadata, we can do so now. Bincode will fail when using skip on fields.

The implementation on LocalFs is not the most efficient one, since it allocates
a string for metdata. However, since our metadata tends to be fairly small and
we will place strict limits on the maximum number and size of custom fields,
this is OK.

This is a one-time breaking change.

Fixes FS-178

@jan-auer jan-auer requested a review from a team as a code owner October 31, 2025 15:38
@jan-auer jan-auer marked this pull request as draft October 31, 2025 15:38
@jan-auer jan-auer marked this pull request as ready for review October 31, 2025 16:41
@jan-auer jan-auer merged commit ceab249 into main Nov 3, 2025
20 of 21 checks passed
@jan-auer jan-auer deleted the ref/metadata-json branch November 3, 2025 09:40
@linear
Copy link

linear bot commented Nov 4, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants