Skip to content

Conversation

proton-lisandro-pin
Copy link
Contributor

@proton-lisandro-pin proton-lisandro-pin commented May 8, 2025

What problem are we solving?

Improve EC encoding efficiency.

How are we solving the problem?

Instead of processing one volume at at time, perform all EC conversion steps (mark readonly -> generate EC shards -> delete volume -> remount) in parallel for all of them.

This should substantially increase speed when EC encoding entire collections.

How is the PR tested?

Affects only weed shell, all existing unit/integration tests should pass with this change in place.

Checks

  • I have added unit tests if possible.
  • I will add related wiki document changes and link to this PR after merging.

Instead of processing one volume at at time, perform all EC conversion
steps (mark readonly -> generate EC shards -> delete volume -> remount) in
parallel for all of them.

This should substantially improve performance when EC encoding
entire collections.
@chrislusf chrislusf merged commit 97dad06 into seaweedfs:master May 9, 2025
6 of 7 checks passed
@proton-lisandro-pin proton-lisandro-pin deleted the ec_encode_safety branch May 9, 2025 12:38
BenoitKnecht pushed a commit to BenoitKnecht/seaweedfs that referenced this pull request May 15, 2025
Improve parallelization for `ec.encode`.

Instead of processing one volume at at time, perform all EC conversion
steps (mark readonly -> generate EC shards -> delete volume -> remount) in
parallel for all of them.

This should substantially improve performance when EC encoding
entire collections.
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.

2 participants