rishabhdaim opened a new pull request, #3226: URL: https://github.com/apache/jackrabbit-oak/pull/3226
Upgrading only `azure-core-http-netty` to 1.16.4 in `oak-segment-azure` breaks proxied client initialization with `NoSuchMethodError` for `ProxyProvider.AddressSpec.socketAddress(SocketAddress)`. The existing 1.14.1 / Reactor Netty 1.0.40 stack remains compatible; the regression tests distinguish that baseline from an incomplete upgrade. Align the module-local transport dependencies with Azure HTTP Netty 1.16.4: Azure Core 1.58.0, Azure JSON 1.5.1, Azure XML 1.2.1, Reactor Netty HTTP/core 1.2.16, and Reactor Core/test 3.7.17. Remove the parent Azure Core/JSON pins, since both Azure modules declare their own versions, so downstream tools do not inherit stale overrides. Public APIs, configuration defaults, and repository formats are unchanged. Add six tests using the existing MockServer dependency as a local HTTPS proxy, trusting its test CA and intercepting unmatched requests. They use real SDK clients and Oak persistence code without Docker or live Azure credentials: - Synchronous and asynchronous blob downloads verify the response body and both proxy requests. - Service-principal authentication obtains a token and verifies its bearer header on a segment-listing request, plus the client-credentials grant and secret in the token request. - Rejected credentials preserve the MSAL `invalid_client` error through the proxy. - Segment write/read verifies the uploaded bytes, downloaded bytes, and archive close-marker request. - Archive listing exercises `AzurePersistence.segmentFilesExist()` through the proxy. - A direct download provides a no-proxy control. The five inherited client-construction tests also run. The same eleven tests were executed in all three states before publishing: | Dependency state | Result | | --- | --- | | Existing compatible stack | 11 pass | | Only HTTP Netty upgraded to 1.16.4 | 8 exact `NoSuchMethodError` errors; 3 controls pass | | Fully aligned stack | 11 pass | All five new proxy-operation tests and the three existing unauthenticated-proxy construction tests fail in the incomplete upgrade. The direct request, no-proxy construction, and authenticated HTTP-proxy construction controls pass throughout. The failures occur during client construction before their requests can proceed; the aligned run then verifies the actual operations. Validation: - Parent, blob Azure, and segment Azure clean installs pass, including bundle packaging, API baseline and license checks. Blob: 214 tests, 0 failures/errors, 8 skipped. Segment Azure: 103 tests, 0 failures/errors, 39 skipped. The eleven transport tests have no skips; other skips need unavailable external setup. - Downstream `oak-upgrade` and `oak-run` clean installs are running; results pending. - A prior repository-wide build completed its modules but failed the final root license scan on pre-existing unrelated workspace files. Draft follow-up to #3224, in the stack #3223 → #3224 → this PR. Merge in that order. Issue: https://issues.apache.org/jira/browse/OAK-12470 Related blob fix: https://issues.apache.org/jira/browse/OAK-12468 Co-Authored-By: OpenAI Codex <[email protected]> -- 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]
