feat(natsock): patch Netty's native epoll transport library by symbol - #730
Draft
kaahos wants to merge 40 commits into
Draft
feat(natsock): patch Netty's native epoll transport library by symbol#730kaahos wants to merge 40 commits into
kaahos wants to merge 40 commits into
Conversation
Contributor
CI Test ResultsRun: #32118507342 | Commit:
Summary: Total: 0 | Passed: 0 | Failed: 0 Updated: 2026-08-18 22:33:28 UTC |
kaahos
force-pushed
the
paul.fournillon/native_socket_netty
branch
from
August 16, 2026 14:26
9de97d6 to
ddd6385
Compare
|
🔄 Datadog auto-retried 1 job - 1 passed on retry 🔗 Commit SHA: 54c2392 | Docs | View more details | Give us feedback! |
Contributor
Scan-Build Report
Bug Summary
Reports
|
||||||||||||||||||||||||||||||||||||
kaahos
force-pushed
the
paul.fournillon/native_socket_netty
branch
from
August 16, 2026 15:00
ddd6385 to
cdf93b0
Compare
Contributor
kaahos
force-pushed
the
paul.fournillon/native_socket_netty
branch
from
August 16, 2026 18:24
cdf93b0 to
003c443
Compare
These tests predate main's JMC-to-jafar JFR loader migration and only surfaced as broken once taskblock-core was rebased onto the merged main.
kaahos
force-pushed
the
paul.fournillon/native_socket_netty
branch
from
August 17, 2026 12:38
003c443 to
1347a00
Compare
parkEnter/parkEnter0 had regressed from boolean to void during an earlier rebase conflict resolution, only merging in the new Thread parameter and silently dropping the "owns a park interval" contract enforced by JavaProfilerApiSurfaceTest.
These files still referenced JMC's IItemCollection after the rebase onto the jafar-migrated taskblock-jvm-producers stack; verifyEvents() now returns JfrEvents.
kaahos
force-pushed
the
paul.fournillon/native_socket_netty
branch
from
August 18, 2026 08:51
1347a00 to
54c2392
Compare
Contributor
Reliability & Chaos Results✅ All reliability & chaos checks passed Pipeline: https://gitlab.ddbuild.io/DataDog/java-profiler/-/pipelines/131524054 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?:
Extends native socket patching to detect Netty's native epoll transport library (
libnetty_transport_native_epoll*.so) by exported symbol, so it can be patched even when it lives outside the JDK's lib directory and its filename is relocated under shading (e.g. grpc-netty-shaded).Motivation:
Netty's native epoll transport bypasses the JDK's socket path, so socket-related events were missed for applications using it.
Additional Notes:
Detection matches on
JNI_OnLoad_netty_transport_native_epoll/JNI_OnUnload_netty_transport_native_epollsymbol pairs rather than basename, mirroring the existing IBM JCL bridge all-or-nothing check.How to test the change?:
New unit tests in
nativeSocketInterposer_ut.cppcover plain and shaded Netty native epoll libraries, plus rejection when only one of the two symbols is present.For Datadog employees:
credentials of any kind, I've requested a security review (run the
dd:platform-security-reviewskill, or file a request via the PSEC review form).
bewairealso runs automatically on every PR.Unsure? Have a question? Request a review!