Thanks to visit codestin.com
Credit goes to github.com

Skip to content

backoff 2.0.x update blocked by opentelemetry-exporter-otlp #2693

Closed
@jvtm

Description

@jvtm

Describe your environment

  • Python 3.8.12, 3.9.12, 3.10.4 (matrix build)
  • Poetry 1.1.13
  • Private package X depends on
    • backoff
    • opentelemetry-api
    • opentelemetry-sdk
    • opentelemetry-exporter-otlp
  • Renovate bot trying to apply the backoff major version update from 1.x series to 2.0.x
  • Other additional dependencies already updated to backoff 2.0.x series, resulting in failing builds and deployments

Steps to reproduce

  1. Create pyproject.toml:
[tool.poetry]
name = "boffdep"
version = "1.0.0"
description = "backoff 2.x vs opentelemetry"
authors = []

[tool.poetry.dependencies]
python = "^3.10"
backoff = "^2.0.0"
opentelemetry-api = "^1.11.0"
opentelemetry-sdk = "^1.11.0"
opentelemetry-exporter-otlp = "^1.11.0"

[build-system]
requires = ["poetry_core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
  1. Run poetry install

What is the expected behavior?

Updating to / using backoff 2.0.x succeeds.

What is the actual behavior?

Poetry output:

Resolving dependencies...

  SolverProblemError

  Because no versions of opentelemetry-exporter-otlp match >1.11.0,<1.11.1 || >1.11.1,<2.0.0
   and opentelemetry-exporter-otlp (1.11.0) depends on opentelemetry-exporter-otlp-proto-http (1.11.0), opentelemetry-exporter-otlp (>=1.11.0,<1.11.1 || >1.11.1,<2.0.0) requires opentelemetry-exporter-otlp-proto-http (1.11.0).
  And because opentelemetry-exporter-otlp-proto-http (1.11.0) depends on backoff (>=1.10.0,<2.0.0), opentelemetry-exporter-otlp (>=1.11.0,<1.11.1 || >1.11.1,<2.0.0) requires backoff (>=1.10.0,<2.0.0).
  And because opentelemetry-exporter-otlp (1.11.1) depends on opentelemetry-exporter-otlp-proto-http (1.11.1)
   and opentelemetry-exporter-otlp-proto-http (1.11.1) depends on backoff (>=1.10.0,<2.0.0), opentelemetry-exporter-otlp (>=1.11.0,<2.0.0) requires backoff (>=1.10.0,<2.0.0).
  So, because boffdep depends on both backoff (^2.0.0) and opentelemetry-exporter-otlp (^1.11.0), version solving failed.

Additional context

Backoff 2.0.x release dropped Python 3.6 support.
https://github.com/litl/backoff/blob/master/CHANGELOG.md#v200---2022-04-26

Some Opentelemery Python components depend on backoff >= 1.10.0, < 2.0.0.

Previous change:
b2e9387

README states:

We remove support for old Python versions 6 months after they reach their end of life.
https://github.com/open-telemetry/opentelemetry-python#python-version-support-addition-and-removal

Python 3.6 reached EOL 2021-12-23, which means opentelemetry-python support for it ends in about five weeks from now.

-> Just wait? Or could the dependency be loosened (for fresh Python versions)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions