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

Add commit method for ConfluentKafkaInstrumentor's ProxiedConsumer #1656

Merged
merged 5 commits into from
Feb 13, 2023

Conversation

mrajashree
Copy link
Contributor

@mrajashree mrajashree commented Feb 10, 2023

Description

Fixes #1506

The package confluent-kafka has a class Consumer, which has a method called commit (Ref: https://docs.confluent.io/platform/current/clients/confluent-kafka-python/html/index.html#confluent_kafka.Consumer.commit)

The package opentelemetry-instrumentation-confluent-kafka offers a wrapper around confluent-kafka's Consumer, called ProxiedConsumer. However ProxiedConsumer does not support commit method. This leads to an exception with the message "Consumer closed" when ProxiedConsumer.commit is called.

This PR fixes this by adding a method commit on ProxiedConsumer, which accepts the same args as confluent-kafka's Consumer's commit method and makes a call to that method.

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Previously calling commit on the ProxiedConsumer would lead to an exception. With the changes in this PR, calling commit ensures the message is committed since it calls the underlying Consumer's commit method.

Does This PR Require a Core Repo Change?

  • Yes. - Link to PR:
  • No.

Checklist:

See contributing.md for styleguide, changelog guidelines, and more.

  • Followed the style guidelines of this project
  • Changelogs have been updated
  • Unit tests have been added
  • Documentation has been updated

@mrajashree mrajashree requested a review from a team February 10, 2023 01:27
@mrajashree mrajashree force-pushed the commit_consumer branch 4 times, most recently from a923dbf to 9557f58 Compare February 10, 2023 22:48
@mrajashree mrajashree requested a review from shalevr February 10, 2023 22:53
@srikanthccv srikanthccv enabled auto-merge (squash) February 13, 2023 17:43
@srikanthccv srikanthccv merged commit 3f8fdf2 into open-telemetry:main Feb 13, 2023
shalevr added a commit to shalevr/opentelemetry-python-contrib that referenced this pull request Feb 23, 2023
…/github.com/shalevr/opentelemetry-python-contrib into Change-metrics-tests-to-work-with-test_base

* 'Change-metrics-tests-to-work-with-test_base' of https://github.com/shalevr/opentelemetry-python-contrib:
  Fix issue with Flask instrumentation when a request spawn children threads and copies the request context (open-telemetry#1654)
  Add connection attributes to sqlalchemy connect span (open-telemetry#1608)
  Add boto3sqs to docs (open-telemetry#1666)
  Audit and test opentelemetry-instrumentation-elasticsearch NoOpTracer… (open-telemetry#1616)
  Copy change log updates from release/v1.16.x-0.37bx (open-telemetry#1683)
  Update version to 1.17.0.dev/0.38b0.dev (open-telemetry#1677)
  Fix CI Failure (open-telemetry#1680)
  Add better debugging if hatch subprocess fails (open-telemetry#1672)
  Add confluent kafka docs (open-telemetry#1668)
  Support aio_pika 9 (open-telemetry#1670)
  Audit and test opentelemetry-instrumentation-wsgi NoOpTracerProvider (open-telemetry#1610)
  bot (open-telemetry#1667)
  Add commit method for ConfluentKafkaInstrumentor's ProxiedConsumer (open-telemetry#1656)
  Revert open-telemetry#1097 (open-telemetry#1660)
  Audit and test opentelemetry-instrumentation-django NoOpTracerProvider (open-telemetry#1611)
  Audit and test opentelemetry-instrumentation-aiohttp-client NoOpTrace… (open-telemetry#1612)
  Audit and test opentelemetry-instrumentation-flask NoOpTracerProvider (open-telemetry#1614)
  Audit and test opentelemetry-instrumentation-dbapi NoOpTracerProvider (open-telemetry#1607)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ConfluentKafkaInstrumentor's ProxiedConsumer does not support commit
3 participants