Skip to content

consider re-writing ledgers on sled-agent startup if serialization has changed #9292

@davepacheco

Description

@davepacheco

(discussed on 2025-09-23 update call)

There are cases like this one where we've used serde(default) to fill in default values of structures read from disk:
#8983 (comment)
That's been used when we want to add new values and can provide a suitable default.

There have been other cases where we proactively added code to migrate from one on-disk format to another, as in #4466.

We discussed an idea where on startup, after reading its ledgers, sled-agent would serialize them again, and if the serialized form differs from the bytes on disk, then it would write the new form to disk. The goal is to know when it's safe to remove support for older formats (namely, once we know all systems will have run the release that re-wrote the old format into the new one).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions