[Refactor] OpenSearchException and ExceptionsHelper foundation to base class#7508
Conversation
Gradle Check (Jenkins) Run Completed with:
|
1430a0a to
ba35fbd
Compare
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
|
Would it be better if we namespaced things right away and got rid of |
The problem with that approach is not all of the logic can be rote refactored because of deep cross dependencies. Refactoring all of StreamInput / StreamOutput, OpenSearchException, for example, quickly spirals into force refactoring server specific classes we may not want in core (e.g., ClusterState). Separating into a Base / Concrete hierarchy enables us to thoughtfully refactor serverless logic up the hierarchy and control the blast radius. Regarding OpenSearchException specifically, I think it would make sense to eventually introduce another mechanism called |
06b463d to
a754c94
Compare
|
@nknize this has a 2.8.0 label on it, should it be backported to 2.x? |
|
There are quite a few of these refactor PRs that I have labeled as 2.8.0. I haven't rushed to backport these yet, opting instead to let them bake in main. There's a lot more coming (see the goals outlined in #5910). So I wasn't planning to backport until, at minimum, OpenSearchException, Writeable, and StreamInput/Output settle down. Do y'all prefer these be backported now? |
|
Prefer to backport it now if it will go in 2.8.0 release. |
+1. It can bake in the meanwhile + give plugins some room to make their changes. |
|
I got following integ test error message after migration from The line for And UnitTests were passed. Any thoughts? |
|
+1 here too. At SDK we maintain a 2.x compatible and 3.x compatible branch. Leaving fixes open on 2.x is doable but annoying. |
|
In my understanding, integ test is failing because integ test use release artifacts to launch a cluster and this change is not released to the repository yet. |
…e class (opensearch-project#7508) * [Refactor] OpenSearchException and ExceptionsHelper foundation to base class Creates new BaseOpenSearchException and BaseExceptionsHelper in core library as a step to moving OpenSearch exception mechanisms from the server module to core library. This is a move to support serverless and cloud native capabilities without requiring the server module for core opensearch indexing, search, and compute capabilities. Signed-off-by: Nicholas Walter Knize <nknize@apache.org> Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
…e class (opensearch-project#7508) * [Refactor] OpenSearchException and ExceptionsHelper foundation to base class Creates new BaseOpenSearchException and BaseExceptionsHelper in core library as a step to moving OpenSearch exception mechanisms from the server module to core library. This is a move to support serverless and cloud native capabilities without requiring the server module for core opensearch indexing, search, and compute capabilities. Signed-off-by: Nicholas Walter Knize <nknize@apache.org>
|
The backport to To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-7508-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 1e08b5a075fa6018be6c0af959b2d638c2743d56
# Push it to GitHub
git push --set-upstream origin backport/backport-7508-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/backport-2.xThen, create a pull request where the |
…e class (opensearch-project#7508) Creates new BaseOpenSearchException and BaseExceptionsHelper in core library as a step to moving OpenSearch exception mechanisms from the server module to core library. This is a move to support serverless and cloud native capabilities without requiring the server module for core opensearch indexing, search, and compute capabilities. Signed-off-by: Nicholas Walter Knize <nknize@apache.org>
…e class (#7508) (#8460) Creates new BaseOpenSearchException and BaseExceptionsHelper in core library as a step to moving OpenSearch exception mechanisms from the server module to core library. This is a move to support serverless and cloud native capabilities without requiring the server module for core opensearch indexing, search, and compute capabilities. Signed-off-by: Nicholas Walter Knize <nknize@apache.org>
|
Hi, I just wanted to point out that this change was a breaking change and should have been in change log. Just my 2 cents, |
The method to split a string was moved to a different module/package. See the following ticket for more details: <opensearch-project/OpenSearch#7508> Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>
The method to split a string was moved to a different module/package. See the following ticket for more details: <opensearch-project/OpenSearch#7508> Signed-off-by: Lukáš Vlček <lukas.vlcek@aiven.io>
…e class (opensearch-project#7508) * [Refactor] OpenSearchException and ExceptionsHelper foundation to base class Creates new BaseOpenSearchException and BaseExceptionsHelper in core library as a step to moving OpenSearch exception mechanisms from the server module to core library. This is a move to support serverless and cloud native capabilities without requiring the server module for core opensearch indexing, search, and compute capabilities. Signed-off-by: Nicholas Walter Knize <nknize@apache.org> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
This PR creates new
BaseOpenSearchExceptionandBaseExceptionsHelperclasses in core library and refactorsOpenSearchExceptionandExceptionsHelperfoundation logic as a step to moving OpenSearch exception mechanisms from the:servermodule to:opensearch-corelibrary. This is a move to support serverless and cloud native capabilities without requiring a dependency on the server module just for core opensearch exception mechanisms.relates #5910