Skip to content

Add an optional hybrid RW mode for LSMT writable layers. #442

Description

@ZarrianShi

What is the version of your Overlaybd

v1.0.18

What would you like to be added?

Add an optional hybrid RW mode for LSMT writable layers.

by current implementation, repeated writes to the same logical range always append new payload data and index records to the RW layer. For overwrite-heavy workloads, this causes the data file of RW layer to grow even when the target range already allocated in the current writable layer.

When hybrid RW mode is enabled:

  • Existing non-zero mappings in the current writable layer are rewritten in place.
  • Uncovered ranges are still appended normally.
  • Zeroed mappings and ranges only present in lower layers are treated as uncovered and appended.
  • The default append-only behavior remains unchanged when the option is disabled.
  • The mode is persisted as a writable-layer header attribute and can be enabled when creating the upper layer.

This does not add online compaction. Old append-only data and obsolete data remain subject to the existing seal/commit workflow.

Why is this needed for Overlaybd?

This reduces RW layer growth for workloads that repeatedly overwrite the same blocks, while preserving Overlaybd’s existing append-only behavior as the default.

It is especially useful when a container performs frequent updates within an already-written upper-layer range.

Are you willing to submit PRs to contribute to this feature?

  • Yes, I am willing to implement it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions