Fix periodic timer error on interpreter shutdown#423
Merged
zippolyte merged 1 commit intoDataDog:masterfrom Sep 24, 2019
Merged
Fix periodic timer error on interpreter shutdown#423zippolyte merged 1 commit intoDataDog:masterfrom
zippolyte merged 1 commit intoDataDog:masterfrom
Conversation
The current hack does not work, as I'm still able to see such messages in the
log:
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 801, in __bootstrap_inner
File "python/lib/python2.7/site-packages/datadog/threadstats/periodic_timer.py", line 43, in run
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 614, in wait
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 355, in wait
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
This changes the current code to leverage the same hack that the `threading`
library uses: if the `sys` module is None, there's a good chance that's because
the interpreter is shutdown down.
This change also improves the waiting loop by using the return value from
`Event.wait()` which returns the value of the flag. That makes the thread
faster to quit when `end()` is called.
dabcoder
pushed a commit
to dabcoder/datadogpy
that referenced
this pull request
Oct 25, 2019
The current hack does not work, as I'm still able to see such messages in the
log:
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 801, in __bootstrap_inner
File "python/lib/python2.7/site-packages/datadog/threadstats/periodic_timer.py", line 43, in run
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 614, in wait
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 355, in wait
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
This changes the current code to leverage the same hack that the `threading`
library uses: if the `sys` module is None, there's a good chance that's because
the interpreter is shutdown down.
This change also improves the waiting loop by using the return value from
`Event.wait()` which returns the value of the flag. That makes the thread
faster to quit when `end()` is called.
dabcoder
pushed a commit
to dabcoder/datadogpy
that referenced
this pull request
Nov 28, 2019
The current hack does not work, as I'm still able to see such messages in the
log:
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 801, in __bootstrap_inner
File "python/lib/python2.7/site-packages/datadog/threadstats/periodic_timer.py", line 43, in run
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 614, in wait
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 355, in wait
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
This changes the current code to leverage the same hack that the `threading`
library uses: if the `sys` module is None, there's a good chance that's because
the interpreter is shutdown down.
This change also improves the waiting loop by using the return value from
`Event.wait()` which returns the value of the flag. That makes the thread
faster to quit when `end()` is called.
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.
The current hack does not work, as I'm still able to see such messages in the
log:
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 801, in __bootstrap_inner
File "python/lib/python2.7/site-packages/datadog/threadstats/periodic_timer.py", line 43, in run
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 614, in wait
File "pyenv/versions/2.7.12/lib/python2.7/threading.py", line 355, in wait
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
This changes the current code to leverage the same hack that the
threadinglibrary uses: if the
sysmodule is None, there's a good chance that's becausethe interpreter is shutdown down.
This change also improves the waiting loop by using the return value from
Event.wait()which returns the value of the flag. That makes the threadfaster to quit when
end()is called.