-
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
Added missed API visibility annotations for public APIs and enable the check at the build time #12872
Conversation
…e check at the build time Signed-off-by: Andriy Redko <[email protected]>
@peternied closing the loop here :-) |
server/src/main/java/org/opensearch/extensions/rest/RestSendToExtensionAction.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Andriy Redko <[email protected]>
I'm a little concerned about the number of APIs being marked as public, rather than internal (not that this PR is necessarily changing things -- it looks like it's just making explicit what was previously implicit). If none of those classes can be changed on 2.x, our hands are going to be pretty tightly tied in terms of our ability to make changes. I would lean toward maintaining backward compatibility of user API and data, and drop developer API compatibility within major versions, but that's probably a controversial take that extends beyond a single PR. 😁 |
@msfroh You mean no breaking changes. Is there a component that you think should be marked as experimental so we have that flexibility? |
Compatibility status:Checks if related components are compatible with change a7166fa Incompatible componentsIncompatible components: [https://github.com/opensearch-project/security.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/flow-framework.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/sql.git] |
❌ Gradle check result for 2041803: Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
❌ Gradle check result for 3ae9c53: Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
❌ Gradle check result for a7166fa: Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
@msfroh all these APIs are exposed though OpenSearch plugins API (Plugin & Co) - so this not something we could change, this is just a fact, and it will immediately break if the modifications are not backward compatible. |
❌ Gradle check result for a7166fa: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
This is our policy - breaking between major are OK - this change ensures that at least what are exposed though OpenSearch plugins API (Plugin & Co) - is annotated. It won't break on API change at the moment (see please #9305) but it will break the build if the APIs are not annotated but leak publicly. |
❌ Gradle check result for a7166fa: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #12872 +/- ##
============================================
- Coverage 71.42% 71.39% -0.03%
- Complexity 59978 60255 +277
============================================
Files 4985 5011 +26
Lines 282275 283675 +1400
Branches 40946 41117 +171
============================================
+ Hits 201603 202541 +938
- Misses 63999 64322 +323
- Partials 16673 16812 +139 ☔ View full report in Codecov by Sentry. |
The backport to
To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-12872-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 8e332b6cfee70221a62426d4ae282df8dc205981
# Push it to GitHub
git push --set-upstream origin backport/backport-12872-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x Then, create a pull request where the |
…e check at the build time (opensearch-project#12872) * Added missed API visibility annotations for public APIs and enable the check at the build time Signed-off-by: Andriy Redko <[email protected]> * Address code review comments Signed-off-by: Andriy Redko <[email protected]> --------- Signed-off-by: Andriy Redko <[email protected]> (cherry picked from commit 8e332b6)
…e check at the build time (opensearch-project#12872) * Added missed API visibility annotations for public APIs and enable the check at the build time Signed-off-by: Andriy Redko <[email protected]> * Address code review comments Signed-off-by: Andriy Redko <[email protected]> --------- Signed-off-by: Andriy Redko <[email protected]> (cherry picked from commit 8e332b6) Signed-off-by: Andriy Redko <[email protected]>
…e check at the build time (#12872) (#12875) * Added missed API visibility annotations for public APIs and enable the check at the build time * Address code review comments --------- (cherry picked from commit 8e332b6) Signed-off-by: Andriy Redko <[email protected]>
…e check at the build time (opensearch-project#12872) * Added missed API visibility annotations for public APIs and enable the check at the build time Signed-off-by: Andriy Redko <[email protected]> * Address code review comments Signed-off-by: Andriy Redko <[email protected]> --------- Signed-off-by: Andriy Redko <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
…e check at the build time (opensearch-project#12872) * Added missed API visibility annotations for public APIs and enable the check at the build time Signed-off-by: Andriy Redko <[email protected]> * Address code review comments Signed-off-by: Andriy Redko <[email protected]> --------- Signed-off-by: Andriy Redko <[email protected]>
Description
Added missed API visibility annotations for public APIs and enable the check at the build time
Related Issues
Closes #12871
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.