-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Refactor] OpenSearchException and ExceptionsHelper foundation to base class #7508
[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 <[email protected]> Signed-off-by: Bharathwaj G <[email protected]>
…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 <[email protected]>
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.x Then, 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 <[email protected]>
…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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
…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 <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
This PR creates new
BaseOpenSearchException
andBaseExceptionsHelper
classes in core library and refactorsOpenSearchException
andExceptionsHelper
foundation logic as a step to moving OpenSearch exception mechanisms from the:server
module to:opensearch-core
library. 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