Skip to content

chore(deps): bump OpenSearch to 3.9.0 and sync the forked tree - #49

Merged
marevol merged 1 commit into
mainfrom
chore/opensearch-3.9.0
Oct 3, 2026
Merged

marevol merged 1 commit into
mainfrom
chore/opensearch-3.9.0

Conversation

@marevol

@marevol marevol commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Bump OpenSearch to 3.9.0 and sync the forked OpenSearch tree (org.codelibs.fesen.opensearch) with it.

Changes

Build:

  • Version 3.9.0-SNAPSHOT; Lucene 10.5.1, Jackson 3.2.2, log4j 2.25.5 (the versions the OpenSearch 3.9.0 POMs pin)
  • README support table: OpenSearch 3.9.0
  • OpenSearch3ClientTest runs against the 3.9.0 image

Forked tree: of the 1457 forked classes, 23 differ between 3.8.0 and 3.9.0 (compared against the 3.8.0 and 3.9.0 source jars). The changes this client uses are ported:

  • Version: V_3_8_1, V_3_9_0, CURRENT = V_3_9_0
  • Node stats: NodeStats, NodesStatsRequest.Metric.CONCURRENCY_LIMITER and the new ActionConcurrencyLimiterStats
  • ClusterAdminClient: deleteTask / prepareDeleteTask with DeleteTaskAction, DeleteTaskRequest and DeleteTaskRequestBuilder
  • Validation and limits: BytesArray, FuzzyOptions, RegexOptions, ExceptionsHelper, IndexShardRoutingTable, ClusterShardHealth, ValidateQueryResponse
  • Metadata, thread pool and date handling: IndexMetadata, IngestionSource, ThreadPool, Joda, DateFormatters

Not ported: the changes to members the fork has already trimmed away (Node, MapperService, DateFieldMapper, IndexModule, RoutingNodes, IngestionMessageMapper, and the virtual executor in OpenSearchExecutors), and the new deployment and index-field-domain actions, which Client does not require.

Client:

  • HttpDeleteTaskAction implements deleteTask over DELETE /_tasks/{nodeId:taskId}
  • HttpNodesStatsAction parses concurrency_limiters

Testing

  • Unit tests (everything except the Docker-based *ClientTest suites): 380 tests, 0 failures.
  • OpenSearch3ClientTest against opensearch:3.9.0: 92 tests, 0 failures, including a new end-to-end test that starts a task, waits for its stored result, deletes it and checks the next lookup returns 404.
  • mvn javadoc:javadoc: no warnings.
  • The OpenSearch 1/2 and Elasticsearch 7/8 integration suites were not run. The new deleteTask request is only sent when a caller asks for it.

Release

fess-parent's fesen.httpclient.version follows this version. Deploy 3.9.0-SNAPSHOT before merging the fess-parent change.

Bump the version to 3.9.0-SNAPSHOT with the dependency versions OpenSearch
3.9.0 pins (Lucene 10.5.1, Jackson 3.2.2, log4j 2.25.5), and bring the forked
OpenSearch classes in org.codelibs.fesen.opensearch up to 3.9.0.

Of the 1457 forked classes, 23 differ between 3.8.0 and 3.9.0. The changes
the client uses are ported: Version.V_3_9_0, the node concurrency limiter
statistics, ClusterAdminClient.deleteTask and the validation and limit
changes. HttpDeleteTaskAction implements deleteTask over
DELETE /_tasks/{task_id}, and HttpNodesStatsAction parses
concurrency_limiters.
@marevol marevol self-assigned this Oct 3, 2026
@marevol
marevol merged commit 833fed7 into main Oct 3, 2026
1 check passed
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.

1 participant