Remove unnecessary muzzle skip versions after lenient resolution change#16830
Open
Remove unnecessary muzzle skip versions after lenient resolution change#16830
Conversation
These versions are tested as assertFail only (via assertInverse), and with lenient artifact resolution, missing/broken transitive dependencies no longer cause hard failures. For assertFail checks, fewer classes only add more mismatches, so these skips are no longer needed. Modules updated: - spring-webmvc-6.0, spring-webmvc-3.1 - spring-web-6.0, spring-web-3.1 - logback-appender-1.0 - opentelemetry-extension-annotations-1.0 - opentelemetry-extension-kotlin-1.0 - opentelemetry-api-1.0 - couchbase-3.4, couchbase-3.1.6, couchbase-3.1, couchbase-3.2 - ktor-3.0, ktor-2.0 - play-mvc-2.6, play-mvc-2.4 - javalin-7.0, javalin-5.0 - nats-2.17 - camel-2.20 - jaxws-axis2-1.6 - elasticsearch-transport-5.0, elasticsearch-transport-5.3 - jaxrs-2.0-resteasy-3.0, jaxrs-2.0-resteasy-3.1 (fail directives) - apache-httpclient-4.0 Co-authored-by: trask <218610+trask@users.noreply.github.com> Agent-Logs-Url: https://github.com/open-telemetry/opentelemetry-java-instrumentation/sessions/3d17bf9b-d57b-40ba-9978-37278d06ede3
…uzzle failures play-mvc-2.4: version 2.3.9 is close to the range boundary [2.4.0,2.6) and is actually compatible with the instrumentation, causing assertFail to incorrectly pass. Keep the skip. spring-webmvc-3.1: version 3.2.1.RELEASE is inside the range [3.1.0.RELEASE,6) and has "provided" scope transitive dependencies that cause false muzzle failures. Keep the skip. Co-authored-by: trask <218610+trask@users.noreply.github.com> Agent-Logs-Url: https://github.com/open-telemetry/opentelemetry-java-instrumentation/sessions/3d17bf9b-d57b-40ba-9978-37278d06ede3
Remove skip versions that are inside the version range but don't actually
exist on Maven Central, or that pass muzzle validation with lenient
resolution.
Successful removals:
- log4j-appender-1.2: skip("1.2.15") - version passes muzzle with lenient
- log4j-mdc-1.2: skip("1.2.15") - version doesn't exist on Maven Central
- jsp-2.3: skip("8.0.9") - version doesn't exist on Maven Central
- hikaricp-3.0: skip("4.0.0") - version doesn't exist on Maven Central
- elasticsearch-6.0: skip("7.11.0","7.17.8") - versions don't exist
- oshi: skip("6.1.1") - version doesn't exist on Maven Central
- spring-rabbit: skip("1.6.4.RELEASE","2.1.1.RELEASE") - versions don't exist
- c3p0: skip("0.9.2-pre2-RELEASE","0.9.2-pre3") - passes muzzle
- alibaba-druid: skip("1.0.30") - version doesn't exist on Maven Central
- guava: skip("32.1.0-android") - version doesn't exist on Maven Central
- jedis-4.0: skip("jedis-3.6.2") - passes muzzle
- aws-sdk-2.2: skip("2.17.200") x5 - version doesn't exist
- grails-3.0: all skips removed - none exist on Maven Central
- undertow: skip("2.2.25.Final") - version doesn't exist
- quartz: skip("1.7.0") - version doesn't exist (outside range anyway)
Kept (still needed):
- couchbase-2.0/2.6: skip("2.7.5","2.7.8") - 2.7.8 has bundle packaging
causing muzzle failures
- grizzly-2.3: skip("5.0.0") - version exists and fails muzzle
- graphql-java-12.0/20.0: skip("230521-nf-execution") - version is
compatible, causing assertFail to incorrectly pass
- jedis-3.0: skip("jedis-3.6.2") - version is compatible, causing
assertFail to incorrectly pass
Co-authored-by: trask <218610+trask@users.noreply.github.com>
Agent-Logs-Url: https://github.com/open-telemetry/opentelemetry-java-instrumentation/sessions/3d17bf9b-d57b-40ba-9978-37278d06ede3
Copilot created this pull request from a session on behalf of
trask
March 20, 2026 17:08
View session
trask
approved these changes
Mar 20, 2026
jaydeluca
approved these changes
Mar 21, 2026
laurit
approved these changes
Mar 22, 2026
…-versions-from-muzzle-blocks # Conflicts: # instrumentation/oshi/javaagent/build.gradle.kts
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.
Now that #16803 landed lenient artifact resolution in muzzle checks, many
skip()entries are no longer needed. Systematically tested each one and removed where possible.Removed (122 lines across 40 files)
assertInverse— tested as assertFail only; with lenient resolution fewer classes just means more mismatches (spring-webmvc 1.2.x, ktor 1.1.x, play-mvc-2.6 2.3.x, javalin 3.2.0, nats 0.5.x, etc.)jedis-3.6.2)Kept (still needed)
play-mvc-2.4,graphql-java,jedis-3.0— versions are API-compatible with the instrumentation, so assertFail incorrectly passescouchbase-2.0/2.6— bundle packaging causes genuine muzzle mismatches on 2.7.8grizzly-2.35.0.0 — version exists and genuinely fails muzzle validationspring-webmvc-3.13.2.1.RELEASE — provided-scope transitives cause false failuresspring-ws,zio-http,play-ws— non-resolution reasons (empty jars, policy, behavioral)Each removal was verified by running the specific muzzle task for the previously-skipped version (e.g.
./gradlew :instrumentation:...:javaagent:muzzle-AssertFail-group-artifact-version), plus fullmuzzleruns on key modules.