-
Notifications
You must be signed in to change notification settings - Fork 835
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
Potential dependency conflicts between seldon-core and opentracing #1867
Comments
Suggested Solution
|
@adriangonz Has been working on the python code most recently for this. I know the version ranges were there due to incompatibility between some of the package versions but maybe now we can loosen these? |
Hey @NeolithEra, thanks for your detailed report! The dependency constrains around tracing were chosen to let On our experience, all of them are incredible sensitive to any version change. That's the reason why we had to introduce
Is there anything in particular that you are missing from the existing set of versions? |
@NeolithEra is this still an issue? I'll be closing this one for now, but please do re-open if this is still a problem. |
Hi, as shown in the following full dependency graph of seldon-core, seldon-core requires opentracing >=2.2.0,<2.3.0, seldon-core requires flask-opentracing >=1.1.0,<1.2.0 (flask-opentracing 1.1.0 will be installed, i.e., the newest version satisfying the version constraint), and directed dependency flask-opentracing 1.1.0 transitively introduces opentracing >=2.0,<3.
Obviously, there are multiple version constraints set for opentracing in this project. However, according to pip's “first found wins” installation strategy, opentracing 2.2.0 (i.e., the newest version satisfying constraint >=2.2.0,<2.3.0) is the actually installed version.
Although the first found package version opentracing 2.2.0 just satisfies the later dependency constraint (opentracing >=2.2.0,<2.3.0), such installed version is very close to the upper bound of the version constraint of opentracing specified by flask-opentracing 1.1.0.
Once flask-opentracing upgrades,its newest version will be installed, Therefore, it will easily cause a dependency conflict (build failure), if the upgraded flask-opentracing version introduces a higher version of opentracing, violating its another version constraint >=2.2.0,<2.3.0.
According to the release history of flask-opentracing, it habitually upgrates Opentracing in its recent releases. For instance, flask-opentracing 0.1.6 upgrated Opentracing’s constraint from >= 2.0.0.dev3 to >=1.1,<1.2 ,flask-opentracing 0.2.0 upgrated Opentracing’s constraint from >=1.1,<1.2 to * ,and flask-opentracing 1.0.0 upgrated Opentracing’s constraint from *
to >=2.0,<2.1.
As such, it is a warm warning of a potential dependency conflict issue for seldon-core.
Dependency tree
Thanks for your help.
Best,
Neolith
The text was updated successfully, but these errors were encountered: