Skip to content

Restore Confluent versions to Kafka Muzzle checks - #12180

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
masterfrom
alexeyk/restore-kafka-muzzle-confluent-versions
Aug 12, 2026
Merged

Restore Confluent versions to Kafka Muzzle checks#12180
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
masterfrom
alexeyk/restore-kafka-muzzle-confluent-versions

Conversation

@AlexeyKuznetsov-DD

Copy link
Copy Markdown
Contributor

What Does This Do

Adds the Confluent Maven repository as an explicit Muzzle version source for all Kafka instrumentations that test org.apache.kafka artifacts.

Muzzle now combines the Maven Central version list obtained through the existing Depot proxy/fallback flow with Confluent's -ce, -ccs, and other published Kafka versions.

Motivation

Depot previously returned Confluent metadata for some org.apache.kafka coordinates. After Depot was corrected to behave as a Maven Central proxy, those Confluent versions were no longer discoverable by Kafka Muzzle ranges, even though exact Confluent artifacts remained downloadable.

Without an explicit Confluent Muzzle repository, compatibility checks could remain green while silently dropping Confluent version coverage. Declaring the upstream directly makes that coverage intentional and independent of Depot's Maven Central metadata behavior.

Additional Notes

  • Exact dependency downloads continue to use the normal Gradle repository order, with Depot preferred in CI.
  • This follows the existing confluent-schema-registry-4.1 Muzzle repository pattern.
  • PR Skip latest broken Kafka Connect 7.x POMs #12160 demonstrates the intended -ce and -ccs compatibility coverage.

Validation:

  • Spotless checks for all five affected Kafka instrumentation modules.
  • Dry-run planning for all five affected Muzzle tasks with the CI Depot proxy configured.

Contributor Checklist

Jira ticket: N/A

@AlexeyKuznetsov-DDAlexeyKuznetsov-DD added type: bug fix Bug fix tag: no release notes Changes to exclude from release notes inst: kafka Kafka instrumentation tag: ai generated Largely based on code generated by an AI or LLM labels Aug 10, 2026
@AlexeyKuznetsov-DDAlexeyKuznetsov-DD self-assigned this Aug 10, 2026
@AlexeyKuznetsov-DD
AlexeyKuznetsov-DD marked this pull request as ready for review August 10, 2026 22:23
@AlexeyKuznetsov-DD
AlexeyKuznetsov-DD requested review from bric3 and ygree and removed request for a teamAugust 10, 2026 22:23
@datadog-prod-us1-6

Copy link
Copy Markdown

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 69.74% (+11.79%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 8e05f86 | Docs | Datadog PR Page | Give us feedback!

@dd-octo-sts

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

SuiteStatus
Startup🟢 pass

SLO thresholds are defined here based on automatically generated metrics. A warning is raised when results are within 5% of the threshold.

PR vs. master results
ScenarioCandidatemasterΔ (95% CI of mean)
startup:insecure-bank:iast:Agent14.06 s13.90 s[+0.5%; +1.9%] (maybe worse)
startup:insecure-bank:tracing:Agent12.94 s13.02 s[-1.2%; -0.0%] (maybe better)
startup:petclinic:appsec:Agent16.99 s16.74 s[+0.7%; +2.3%] (maybe worse)
startup:petclinic:iast:Agent17.00 s16.96 s[-0.5%; +1.0%] (no difference)
startup:petclinic:profiling:Agent16.64 s16.85 s[-2.3%; -0.2%] (maybe better)
startup:petclinic:sca:Agent16.87 s16.64 s[+0.3%; +2.4%] (maybe worse)
startup:petclinic:tracing:Agent16.16 s16.02 s[-0.1%; +1.8%] (no difference)

Commit:8e05f866 · CI Pipeline · Benchmarking Platform UI


Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion.

@pr-commenter

Copy link
Copy Markdown

Kafka / producer-benchmark

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasteralexeyk/restore-kafka-muzzle-confluent-versions
git_commit_date17863685291786400164
git_commit_sha4373ec08e05f86
See matching parameters
BaselineCandidate
ci_job_date17864013801786401380
ci_job_id19394680801939468080
ci_pipeline_id130088818130088818
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
jdkVersion11.0.2511.0.25
jmhVersion1.361.36
jvm/usr/lib/jvm/java-11-openjdk-amd64/bin/java/usr/lib/jvm/java-11-openjdk-amd64/bin/java
jvmArgs-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=15002 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=15002 -Dhttp.nonProxyHosts=localhost*.localhost
vmNameOpenJDK 64-Bit Server VMOpenJDK 64-Bit Server VM
vmVersion11.0.25+9-post-Ubuntu-1ubuntu122.0411.0.25+9-post-Ubuntu-1ubuntu122.04

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics.

See unchanged results
scenarioΔ mean throughput
scenario:not-instrumented/KafkaProduceBenchmark.benchProducesame
scenario:only-tracing-dsm-disabled-benchmarks/KafkaProduceBenchmark.benchProducesame
scenario:only-tracing-dsm-enabled-benchmarks/KafkaProduceBenchmark.benchProducesame

@datadog-prod-us1-6datadog-prod-us1-6Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Datadog Autotest: FAIL

Confluent metadata is fail-open: all five changed Muzzle planners succeeded with zero -ce/-ccs tasks when the added endpoint was unavailable, allowing CI to silently retain Central-only coverage.

📊 Validated against 8 scenarios · Open Bits AI session

🤖 Datadog Autotest · Commit 8e05f86 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

@@ -1,4 +1,6 @@
muzzle {
extraRepository("confluent-releases", "https://packages.confluent.io/maven/")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Fail closed when Confluent metadata contributes no versions

CI can remain green with none of the Confluent compatibility coverage this PR is intended to restore.

Assertion details
  • Input: Run any affected Kafka Muzzle task while Maven Central is reachable and https://packages.confluent.io/maven/ is unavailable.
  • Expected:Declaring this repository to restore Confluent coverage should fail planning when it contributes no Confluent versions. The complete fix requires Muzzle plugin support for a required repository (or an equivalent contribution assertion), plus a buildSrc regression test covering a reachable Central repository and an unavailable required extra repository.
  • Actual:With the added URL returning HTTP 502, direct Aether queries for kafka-clients, connect-runtime, and kafka-streams contained only Central versions. All five changed Muzzle dry-runs nevertheless returned BUILD SUCCESSFUL and planned zero -ce/-ccs tasks.

Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest

@pr-commenter

Copy link
Copy Markdown

Kafka / consumer-benchmark

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasteralexeyk/restore-kafka-muzzle-confluent-versions
git_commit_date17863685291786400164
git_commit_sha4373ec08e05f86
See matching parameters
BaselineCandidate
ci_job_date17864014011786401401
ci_job_id19394680831939468083
ci_pipeline_id130088818130088818
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
jdkVersion11.0.2511.0.25
jmhVersion1.361.36
jvm/usr/lib/jvm/java-11-openjdk-amd64/bin/java/usr/lib/jvm/java-11-openjdk-amd64/bin/java
jvmArgs-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=15002 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=15002 -Dhttp.nonProxyHosts=localhost*.localhost
vmNameOpenJDK 64-Bit Server VMOpenJDK 64-Bit Server VM
vmVersion11.0.25+9-post-Ubuntu-1ubuntu122.0411.0.25+9-post-Ubuntu-1ubuntu122.04

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics.

See unchanged results
scenarioΔ mean throughput
scenario:not-instrumented/KafkaConsumerBenchmark.benchConsumesame
scenario:only-tracing-dsm-disabled-benchmarks/KafkaConsumerBenchmark.benchConsumeunsure
[+96.780op/s; +10171.912op/s] or [+0.032%; +3.348%]
scenario:only-tracing-dsm-enabled-benchmarks/KafkaConsumerBenchmark.benchConsumeunsure
[+584.910op/s; +10270.016op/s] or [+0.315%; +5.540%]

@bric3bric3 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It looks like the proper fix, thanks!

@AlexeyKuznetsov-DD

Copy link
Copy Markdown
ContributorAuthor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351Bot commented Aug 12, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-08-12 16:28:23 UTC ℹ️ Start processing command /merge


2026-08-12 16:28:29 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 2h (p90).


2026-08-12 16:38:07 UTCMergeQueue: The build pipeline contains failing jobs for this merge request

Build pipeline has failing jobs for 54ac298:

⚠️ Do NOT retry failed jobs directly (why?).

What to do next?

  • Investigate the failures and when ready, re-add your pull request to the queue!
  • If your PR checks are green, try to rebase/merge. It might be because the CI run is a bit old.
  • Any question, go check the FAQ.
Details

Since those jobs are not marked as being allowed to fail, the pipeline will most likely fail.
Therefore, and to allow other builds to be processed, this merge request has been rejected and the pipeline got canceled.

@AlexeyKuznetsov-DD

Copy link
Copy Markdown
ContributorAuthor

/merge -f --reason "Skip MQ since Muzzle not tested on MQ, it is already tested in PR"

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351Bot commented Aug 12, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-08-12 17:40:10 UTC ℹ️ Start processing command /merge -f --reason "Skip MQ since Muzzle not tested on MQ, it is already tested in PR"


2026-08-12 17:40:14 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 0s (p90).


2026-08-12 17:40:23 UTC ℹ️ MergeQueue: This merge request was merged

Warning

This change was merged without running any pre merge CI checks

Reason: Skip MQ since Muzzle not tested on MQ, it is already tested in PR

@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854dBot merged commit 5037862 into masterAug 12, 2026
600 of 603 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854dBot deleted the alexeyk/restore-kafka-muzzle-confluent-versions branch August 12, 2026 17:40
@github-actionsgithub-actionsBot added this to the 1.66.0 milestone Aug 12, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: kafkaKafka instrumentationtag: ai generatedLargely based on code generated by an AI or LLMtag: no release notesChanges to exclude from release notestype: bug fixBug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@AlexeyKuznetsov-DD@bric3