Skip to content

Online FSTree reshaping #3774

@roman-khimov

Description

@roman-khimov

Is your feature request related to a problem? Please describe.

I'm always frustrated when I can't change the depth of the FSTree.

Describe the solution you'd like

Nothing prevents us from adding online reshaping functionality:

  • add a secondary depth to FSTree config
  • put with the new depth
  • try get operations with the new one, fallback to old if not present
  • background threads can iterate over storage, add dirs if needed, drop empty if possible, rename files appropriately (not even looking into contents)
  • once threads are done drop the old depth from the config

Describe alternatives you've considered

Offline reshaping is somewhat easier, but doesn't really work for big object collections.

Additional context

I'd really like to change the depth of 5 to 3 for mainnet nodes. But I don't want to lose any data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    I3Minimal impactS4RoutineU4Nothing urgentfeatureCompletely new functionalityneofs-storageStorage node application issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions