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]

Reply via email to