Skip to content

Fix max recursion bug by removing logging.log calls in emit #4588

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

Merged
merged 13 commits into from
May 16, 2025

Conversation

DylanRussell
Copy link
Contributor

@DylanRussell DylanRussell commented May 16, 2025

Description

Remove logging.log calls from BatchProcessor.emit. Any log calls in that function can get routed back to emit and ultimately result in a maximum recursion depth exceeded exception.

fixes #4585

How Has This Been Tested?

Added a unit test to prevent this.

Does This PR Require a Contrib Repo Change?

  • Yes. - Link to PR:
  • [x ] No.

Checklist:

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

@aabmass
Copy link
Member

aabmass commented May 16, 2025

I'll just manually resolve the backport in the release branch

@aabmass aabmass enabled auto-merge (squash) May 16, 2025 15:06
@aabmass aabmass merged commit 71ec859 into open-telemetry:main May 16, 2025
477 of 479 checks passed
aabmass added a commit to aabmass/opentelemetry-python that referenced this pull request May 16, 2025
…emetry#4588)

* Fix max recursion bug by removing logging.log calls in emit

* Update opentelemetry-sdk/src/opentelemetry/sdk/_shared_internal/__init__.py

Co-authored-by: Emídio Neto <[email protected]>

* Add changelog

* Fix linter

* Respond to comments in PR

* Remove log line

* Fix lint issues

* Attach handler to SDK logger instead of root logger and remote it after test is done. Fix lint issues..

* Assert no logs emitted. ADd try/except block for cleanup

* Skip test on <python3.10

* Run precommit

* Apply suggestions from code review

* use try/finally instead of try/except

---------

Co-authored-by: Emídio Neto <[email protected]>
Co-authored-by: Aaron Abbott <[email protected]>
aabmass added a commit that referenced this pull request May 16, 2025
…4589)

* Fix max recursion bug by removing logging.log calls in emit

* Update opentelemetry-sdk/src/opentelemetry/sdk/_shared_internal/__init__.py



* Add changelog

* Fix linter

* Respond to comments in PR

* Remove log line

* Fix lint issues

* Attach handler to SDK logger instead of root logger and remote it after test is done. Fix lint issues..

* Assert no logs emitted. ADd try/except block for cleanup

* Skip test on <python3.10

* Run precommit

* Apply suggestions from code review

* use try/finally instead of try/except

---------

Co-authored-by: DylanRussell <[email protected]>
Co-authored-by: Emídio Neto <[email protected]>
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.

Infinit recursion in log shutdown code
3 participants