dotCMS / dotCMS/core

bug(opensearch): OS client fails to parse sitesearch index settings (MissingRequiredPropertyException) in phase 3

Open
#36,324 0 comments 0 reactions 1 assignee View on GitHub

@fabrizzio-dotCMS is already working on this.

Since Jun 25, 2026.

Team : Scout
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Problem Statement

Under ES→OS migration phase 3 (OpenSearch-only), parsing the sitesearch index settings via the OpenSearch Java client fails to deserialize, throwing a MissingRequiredPropertyException:

ContentletIndexAPIImplTest.testSearch <<< ERROR!
java.io.IOException: Failed to parse index settings for: sitesearch_20260625165130
Caused by: com.dotmarketing.business.DotStateException: Failed to parse index settings for: sitesearch_20260625165130
Caused by: org.opensearch.client.util.MissingRequiredPropertyException: Missing required property 'Builder.<variant kind>'

The opensearch-java client cannot build the settings object for the sitesearch index — a deserialization/mapping gap in the OS settings-read path (likely an index-settings shape the OS client builder requires but isn't provided).

Steps to Reproduce

./mvnw verify -pl :dotcms-integration -Dcoreit.test.skip=false \
  -Dopensearch.phase=3 \
  -Dit.test=ContentletIndexAPIImplTest

testSearch errors parsing sitesearch_<ts> index settings.

Acceptance Criteria

  • Reading sitesearch (and content) index settings via the OS client succeeds under phase 3.
  • The settings-parse path no longer throws MissingRequiredPropertyException.
  • ContentletIndexAPIImplTest.testSearch passes under phase 3.

dotCMS Version

main (dev / 1.0.0-SNAPSHOT) — ES→OS migration work.

Severity

High

Links

Found via blast-radius experiment in PR #36268 / issue #36266. Related test-decoupling: #36320.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.