Skip to content

Simplify LinkedDB #3485

@yacovm

Description

@yacovm

Context and scope
LinkedDB is a database wrapping a KV store that facilitates iteration.

It would simplify the codebase and remove code that needs to be maintained if we make it a wrapper around a database with an iteration functionality such as GoLevelDB.

Discussion and alternatives

It is crucial to do this in a manner that preserves backward compatibility with the previous version of avalanchego, as otherwise we won't be able to upgrade to the new version due to losing the ability to read the latest persisted DB.

After releasing a version with backward compatibility, we would be able to remove the parts that remain for backward compatibility.

Open questions

  1. How do we detect which keys were written using the old version and which were written using the new version?
  2. How do we combine input from the old version and the new version?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog 🧊

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions