Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding an option to manually disable Kafka headers #1448

Merged

Conversation

shields478
Copy link

In environments with mixed kafka-client versions, there can be errors when a producer that has the kafka integration enabled creates a message to be sent to brokers that use the kafka-client > 0.11. This causes the magic version (apiVersions.maxUsableProduceMagic()) to be 2 and the DD trace library injects headers into the record.

Consumer is using a version of kafka-client < 0.11 will fail when attempting to consume this record with an IllegalArgumentException

This change allows organizations that have a mixed kafka-client environment to keep the kafka integration enabled and manually disable the injection of headers by setting a JVM option or environment variable.

It's possibly related to the issue here. #944

@shields478 shields478 requested a review from a team as a code owner May 11, 2020 23:13
@randomanderson randomanderson added the tag: community Community contribution label May 12, 2020
Copy link
Contributor

@tylerbenson tylerbenson left a comment

Choose a reason for hiding this comment

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

Thanks for making those changes. Looks good.

@tylerbenson tylerbenson merged commit 38417de into DataDog:master May 12, 2020
@devinsba devinsba added this to the 0.52.0 milestone May 13, 2020
iNikem added a commit to open-telemetry/opentelemetry-java-instrumentation that referenced this pull request May 31, 2020
* Define packages in exporter class loader (#409)

* Update docs about needing java 11 to build (#412)

* Update version to 0.3.0 (#413)

* Update the README (#414)

* Move build and configure to top as getting started section
* Add manual instrumentation section
* Document `@WithSpan` annotation
* Move developer specific information to CONTRIBUTING.md
* Cleanup formatting and use consistent spacing

* Update version to 0.4.0-SNAPSHOT (#415)

* Update CONTRIBUTING.md back to Java 11 (#419)

* Add Zipkin exporter support  (#411)

* #375 Add Zipkin exporter support

Signed-off-by: Sergei Malafeev <sergeymalafeev@gmail.com>

* #375 use OkHttpSender for Zipkin exporter

Signed-off-by: Sergei Malafeev <sergeymalafeev@gmail.com>

* #375 add Zipkin exporter to README

Signed-off-by: Sergei Malafeev <sergeymalafeev@gmail.com>

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* Remove inactive maintainer (#420)

* Fix brolen anchor link (#422)

* Fix khttp instrumentation in case of absent or read-only headers map (#416)

* Add new approver (#429)

* Fix sqlNormalizerEnabled initialization (#432)

* Remove unused config (#424)

* Change names of servlet based server spans (#428)

* Add documentation describing non-obvious points of Servlet instrumentations

* Change names of servlet based server spans

* Fix java google format (#439)

* Remove deprecated usage from internal instrumentation (DataDog/dd-trace-java#1441)

* Update gradle to 6.4 (DataDog/dd-trace-java#1443)

* Migrate lettuce instrumentation away from deprecated finishSpanOnClose (DataDog/dd-trace-java#1445)

* Make Retrys consistent (DataDog/dd-trace-java#1442)

* Rename java packages for lettuce 4 and 5 to not have collisions (DataDog/dd-trace-java#1450)

* Adding an option to manually disable Kafka headers (DataDog/dd-trace-java#1448)

* Add version specific names to allow disabling only a specific version (DataDog/dd-trace-java#1456)

* Attempt to improve muzzle time by randomly ignoring versions until 10 remain (DataDog/dd-trace-java#1451)

* Save circle cache with name matching restore patterns (DataDog/dd-trace-java#1457)

* Wrap log statements using varargs to avoid object allocation (DataDog/dd-trace-java#1466)

* Grizzly-http and grizzly-client instrumentation (DataDog/dd-trace-java#1365)

* More refactoring for ScopeManager (DataDog/dd-trace-java#1467)

* Remove Java 9 and 10 from the build (DataDog/dd-trace-java#1473)

* Disable CI cache for muzzle (DataDog/dd-trace-java#1479)

* Separate out core instrumentation for AWS SDK to allow manual setup o… (#421)

* Separate out core instrumentation for AWS SDK to allow manual setup of instrumentation.

* Instrumentation core test

* Fix sporadic Elasticsearch test failures (#444)

* Fix sporadic grizzly test failure (#448)

* Fixes integration with latest version of Finatra (#450)

* #425 allow only one propagator per concern (#451)

* Updates to reflect new repo name (#454)

* Remove printlns that were accidentally committed (#459)

* Remove unnecessary version constant (#455)

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Steve Flanders <steve@omnition.io>
Co-authored-by: Sergei Malafeev <sergeymalafeev@gmail.com>
Co-authored-by: Tyler Benson <tyler.benson@datadoghq.com>
Co-authored-by: Nikolay Martynov <mar.kolya@gmail.com>
Co-authored-by: Brian Devins-Suresh <brian.devinssuresh@datadoghq.com>
Co-authored-by: Richard Startin <richard.startin@datadoghq.com>
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
andrewsouthard1 pushed a commit to DataDog/documentation that referenced this pull request Aug 5, 2020
Added configuration specific to Kafka from here: DataDog/dd-trace-java#1448
apigirl pushed a commit to DataDog/documentation that referenced this pull request Aug 31, 2020
* Added kafka context propagation note

Added configuration specific to Kafka from here: DataDog/dd-trace-java#1448

* Update java.md

* Update java.md

* Update content/en/tracing/compatibility_requirements/java.md

Co-authored-by: ruthnaebeck <19349244+ruthnaebeck@users.noreply.github.com>

Co-authored-by: Kaylyn <kaylyn.sigler@datadoghq.com>
Co-authored-by: ruthnaebeck <19349244+ruthnaebeck@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tag: community Community contribution
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants