Skip to content

mirror push: PushParams.Parallelism is unused; push is sequential #427

Description

@ldmonster

Summary

d8 mirror push uploads images sequentially, but PushParams.Parallelism is populated and never read — it is dead configuration. This also makes the README "Best Practices → Parallel Operations" note misleading for push.

Details

  • internal/mirror/cmd/push/push.go sets Parallelism: params.ParallelismConfig{Blobs: ..., Images: ...}.
  • pkg/libmirror/operations/params/push.go defines ParallelismConfig and DefaultParallelism.
  • No code reads .Parallelism (only the definition and the assignment reference it), and the push path contains no concurrency primitives (go func, errgroup, sync.WaitGroup). internal/mirror/pusher/pusher.go pushes in a plain sequential for loop.

Impact

Dead config; pushes of large bundles are slower than the config suggests, and documentation implying parallel push is inaccurate.

Expected

Either wire the Parallelism config into the pusher, or remove the unused config and adjust the docs.

Severity: low (cleanup / performance). As of main (62132d6).

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