Skip to content

[BUG] Pull-based ingestion fails with remote cluster state due to missing XContent serialization #19286

@SwethaGuptha

Description

@SwethaGuptha

Describe the bug

Starting with OpenSearch 2.17, remote cluster state publication is supported. The experimental pull-based ingestion feature(#17442) introduced an ingestionStatus field in IndexMetadata(#17631). However, this field is only serializable via byte streams and is missing from IndexMetadata.toXContent() https://github.com/opensearch-project/OpenSearch/blob/main/server/src/main/java/org/opensearch/cluster/metadata/IndexMetadata.java#L2163-L2269. The XContent object is used in:

  1. /_cluster/state rest API - to fetch the cluster state
  2. Remote cluster state is serialized and de-serialized as XContent.

Due to the miss, nodes in clusters using remote store for cluster state publication cannot receive ingestionStatus updates, breaking pull-based ingestion functionality.

Related component

Indexing

To Reproduce

A 3.1 cluster.

Expected behavior

Add XContent Serialisation

Additional Details

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    IndexingIndexing, Bulk Indexing and anything related to indexingbugSomething isn't workinguntriaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions