Skip to content

Conversation

@bkirwi
Copy link
Contributor

@bkirwi bkirwi commented Dec 2, 2025

The old, non-columnar Persist encoding returned row-by-row errors, but the expectation is that the schema checking for columnar data happens all at once and up front. Not only does this error path only matter for the increasingly small fraction of legacy data, but all callers were effectively unwrapping errors anyways. This commit switches to passing around data direcly instead of wrapping each key and value in a Result.

Motivation

Drive-by improvement while looking into some StorageCollections-related refactoring.

Tips for reviewer

In case you're interested, the production codec impl is here. The only way this could throw errors is if the ProtoSourceData decode returned an error, which would imply that the bytes themselves had been corrupted or that the proto had changed in a backwards-incompatible way.

The old, non-columnar Persist encoding returned row-by-row errors, but
the expectation is that the schema checking for columnar data happens all
at once and up front. Not only does this error path only matter for the
increasingly small fraction of legacy data, but all callers were
effectively unwrapping errors anyways. This commit switches to passing
around data direcly instead of wrapping each key and value in a Result.
@bkirwi bkirwi marked this pull request as ready for review December 2, 2025 23:25
@bkirwi bkirwi requested review from a team and aljoscha as code owners December 2, 2025 23:25
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.

1 participant