Skip to content

woodpecker persistence PVC is mounted to all milvus components(querynode/streamingnode/etc). Is this intended? #444

@sangheee

Description

@sangheee

Hi.

I’m deploying v2.6.6 milvus cluster using milvus-operator v1.3.3 with messageStreamType: woodpecker.

When I specify spec.dependencies.woodpecker.persistence, the operator creates a PVC named ${name}-data.
And this PVC is mounted into all milvus components (proxy, datanode, querynode, streamingnode, coordinator) under /var/lib/milvus.

This raises a few concerns.

  1. RWO volume cannot be mounted by all components
    If the PVC uses accessModes: [ReadWriteOnce], only one pod can mount it at a time.
    In practice, this causes many milvus deployments (e.g., multiple QueryNodes) to fail scheduling.

  2. query nodes sharing the same directory
    Multiple components writing cache or other runtime data into the same directory /var/lib/milvus seems unsafe.
    For example, multiple QueryNodes could write local cache files to the same path, which may cause conflicts or undefined behavior.

  3. If woodpecker persistence is backed by a local storage type, wouldn’t all WAL files end up stored in the same shared path?
    This seems problematic, especially when multiple nodes are expected to operate independently.

Is this PVC sharing behavior across all components intentional?
If so, could you let me know how woodpecker persistence should be configured to avoid conflicts or scheduling failures?

Thanks!

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