Skip to content

Conversation

@karenyrx
Copy link
Contributor

@karenyrx karenyrx commented Sep 18, 2025

Description

Change failureaccess from compileOnly to runtimeOnly to bundle it with transport-grpc

The merging of b9c5bc7#diff-1767b7f709666659fcea718930d017913630119903232332e9b9b08627ca7c0fR29 caused the transport-grpc module to fail during runtime with NoClassDefFoundError for InternalFutureFailureAccess.

Related Issues

Resolves #[Issue number to be closed when this PR is merged]

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

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.

- Change failureaccess from compileOnly to runtimeOnly to bundle it with transport-grpc
- Add required SHA, LICENSE, and NOTICE files for failureaccess-1.0.2.jar
- This fixes NoClassDefFoundError for InternalFutureFailureAccess in plugins that use Guava concurrency features
- Resolves classloader isolation issues between transport-grpc and plugin dependencies

Signed-off-by: karenx <[email protected]>
@github-actions
Copy link
Contributor

❌ Gradle check result for 1419ecf: null

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?

Copy link
Contributor

@finnegancarroll finnegancarroll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is the best path forward at the moment for fixing KNN CI. It seems like there is some issue where KNN is deferring to transport-grpc class loader which can no longer load failureaccess since being moved to compile only.

@navneet1v @andrross @cwperks can you take a look?
Some additional context in these KNN PRs:
opensearch-project/k-NN#2885
opensearch-project/k-NN#2883
opensearch-project/k-NN#2878

Signed-off-by: karenx <[email protected]>
@karenyrx karenyrx force-pushed the add-failureaccess-to-transport-grpc branch from 0a55f9f to 2d5d45e Compare September 19, 2025 23:54
@karenyrx karenyrx marked this pull request as ready for review September 19, 2025 23:54
@karenyrx karenyrx requested a review from a team as a code owner September 19, 2025 23:54
@github-actions
Copy link
Contributor

❕ Gradle check result for 2d5d45e: UNSTABLE

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

@codecov
Copy link

codecov bot commented Sep 20, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.89%. Comparing base (1f9eb87) to head (2d5d45e).
⚠️ Report is 10 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #19339      +/-   ##
============================================
- Coverage     72.89%   72.89%   -0.01%     
+ Complexity    69870    69838      -32     
============================================
  Files          5673     5673              
  Lines        320754   320754              
  Branches      46367    46367              
============================================
- Hits         233824   233819       -5     
+ Misses        68012    68001      -11     
- Partials      18918    18934      +16     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@navneet1v
Copy link
Contributor

navneet1v commented Sep 20, 2025

@karenyrx , @andrross can we merge this change? k-NN build is broken and we are running red for our 10.3 upgrade fixes.

I tested this change by doing this on the OpenSearch code with this commit.

cd OpenSearch
bash ./scripts/build.sh -v 3.3.0 -s true
cd ../k-NN
./gradlew integTest -PcustomDistributionUrl="/Users/navneev/workplace/OpenSearch/artifacts/dist/opensearch-min-3.3.0-SNAPSHOT-darwin-arm64.tar.gz"

The output shows that tests are running which were failing earlier due to class def not found related to failure access.

@andrross andrross merged commit eb28e77 into opensearch-project:main Sep 20, 2025
35 checks passed
jainankitk pushed a commit to jainankitk/OpenSearch that referenced this pull request Sep 22, 2025
jainankitk pushed a commit to jainankitk/OpenSearch that referenced this pull request Sep 22, 2025
jainankitk pushed a commit to jainankitk/OpenSearch that referenced this pull request Sep 22, 2025
asimmahmood1 pushed a commit to jainankitk/OpenSearch that referenced this pull request Sep 23, 2025
pranikum pushed a commit to pranikum/OpenSearch that referenced this pull request Sep 23, 2025
vinaykpud pushed a commit to vinaykpud/OpenSearch that referenced this pull request Sep 26, 2025
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.

4 participants