-
Notifications
You must be signed in to change notification settings - Fork 58
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
Remove dependency on Tornado? #113
Comments
Any updates on this? |
This and #83 are more important with the new pip resolver, which is stricter for incompatible deps. |
Happy to go ahead and create a PR for this if the core contributors are on-board with the idea. Let me know. |
You could try it, I don't think this is a trivial change. May also require ditching python2. |
Interesting, thanks for getting back to me. Having looked a bit deeper, looks a bit more involved than I first expected. |
Personally I have a pipeline that scans all dependencies, and due to CVE-2020-28476 and this library not supporting tornado 6 it keeps complaining that there's insecure dependencies. Not a major thing, but perhaps another point/reason for either upgrading or dropping the dependency as described in the original proposal. |
I'm running a jaeger client on celery workers and I see the workers logging span reported. Based on peoples' experience, is it likely that the tornado IOLoop is not playing well with celery and therefore resulting in spans not getting reported? |
@jkgenser celery workers are often implemented as forked processes. See https://github.com/jaegertracing/jaeger-client-python#wsgi-multi-processing-fork2 |
@yurishkuro thanks for getting back to me. Yeah I am initializing jaeger with worker process init signal so in the prefork pool this runs after the forking. Not experiencing deadlocks in my application at least, but maybe I'm experiencing deadlocks with jaeger-clients IOLoop... https://docs.celeryproject.org/en/stable/userguide/signals.html#worker-process-init |
I'd like to propose that the
tornado
dependency is removed frominstall_requires
and moved to theextras_require
to make it conditional, even if #83 is being worked on in parallel.I am working on a project that uses
opentracing_instrumentation
andjaeger_client
, but does not usetornado
. However, due to the dependencies ontornado
in these two packages, I am forced to installtornado
and specificallytornado>=4.1,<6
due to this package's dependency on it, sincejaeger_client
depends ontornado>=4.3
with no upper bound.This causes an unfortunate problem, where even though my package doesn't rely on
tornado
, I still getDeprecationWarning
telling me that my package will stop working in Python 3.9. To reproduce:requirements.txt
repro.py
Executing in the environment created from that
requirements.txt
file:While I import
jaeger_client
and notopentracing_instrumentation
here, the bound ontornado<6
comes fromopentracing_instrumentation
and notjaeger_client
, and that bound is the immediate cause of theDeprecationWarning
.This is related to, but not fully encompassed by, jaegertracing/jaeger-client-python#235.
Thank you for considering this, and for working on this project in general.
The text was updated successfully, but these errors were encountered: