kezhenxu94 opened a new pull request, #13957:
URL: https://github.com/apache/skywalking/pull/13957

   ### Fix the issue
   
   Adds support for running SkyWalking OAP against **Elasticsearch 9.x** as 
storage.
   
   ### Why
   
   The in-tree ES client (`library-elasticsearch-client`) selects its request 
factory / codec per server version in `ElasticSearchVersion`. The ceiling was 
`major == 8`, so any server reporting major version 9 fell through to 
`UnsupportedOperationException("Unsupported version")` and OAP refused to start 
against an Elasticsearch 9 cluster.
   
   ES 9 keeps the same REST surface the ES 8 path already relies on — typeless 
document writes (`POST /{index}/_update/{id}`) and composable index templates 
(`PUT /_index_template/{name}`) — so no new factory or codec is needed; the 
version gate just needs to admit major >= 8. This mirrors how OpenSearch is 
already handled version-agnostically.
   
   ### What changed
   
   - `ElasticSearchVersion`: `if (major == 8)` → `if (major >= 8)` for the 
ElasticSearch distribution (8.x, 9.x and later use the existing typeless-doc + 
composable-template path).
   - `ElasticSearchIT`: add an `ElasticSearch 9.3.0` parameter (all IT methods 
run against a real ES 9 container).
   - CI `skywalking.yaml`: add a `Storage ES 9.3.0` e2e case alongside the 
existing `8.18.8`.
   - Docs: storage doc supported-versions line now lists ElasticSearch 9.x; 
changelog entry added.
   
   Verified locally against a real `elasticsearch:9.3.0` container: version 
detection, composable index template, typeless index/get/update/delete, and 
search all behave as expected.
   
   - [x] Update the [`CHANGES` 
log](https://github.com/apache/skywalking/blob/master/docs/en/changes/changes.md).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to