Skip to content
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

Missing transitive dependency requests from the google-resumable-media library #1269

Closed
dliappis opened this issue May 20, 2021 · 0 comments · Fixed by #1270
Closed

Missing transitive dependency requests from the google-resumable-media library #1269

dliappis opened this issue May 20, 2021 · 0 comments · Fixed by #1270
Assignees
Labels
bug Something's wrong :Packaging Installation issues or packaging problems
Milestone

Comments

@dliappis
Copy link
Contributor

Description of the problem

If a user installs Rally from pip or from a local checkout without installing development dependencies, and attempts to use a track that references a corpus stored in a Google Storage bucket, esrally race will fail with:

[ERROR] Cannot race. Error in track preparator (The requests library is not installed, please install the requests package to use the requests transport.)

Root cause

When we added Google Storage support for bucket in #1094 we leveraged the google resumable media package to allow us support the progress indicator.

Specifically we are using download.py#consume_next_chunk which in turn relies on the requests package.

The requests package is specified as an extra dependency though in google resumable media dependencies and we missed that in Rally's setup.py

Note that when installing Rally for development, certain third party libraries specify requests as a transitive dependency and everything works ok with GS buckets, masking this bug.

@dliappis dliappis added bug Something's wrong :Packaging Installation issues or packaging problems labels May 20, 2021
@dliappis dliappis added this to the 2.2.1 milestone May 20, 2021
@dliappis dliappis self-assigned this May 20, 2021
dliappis added a commit to dliappis/rally that referenced this issue May 20, 2021
This commit adds the requests package (which is an extra dependency,
i.e. listed as optional) when installing the
google-resumable-media pip package.

Currently this is missing when installing Rally without development
dependencies and will cause tracks relying on GS hosted private buckets
to fail.

Closes elastic#1269
dliappis added a commit that referenced this issue May 20, 2021
This commit adds the requests package (which is an extra dependency,
i.e. listed as optional) when installing the
google-resumable-media pip package.

Currently this is missing when installing Rally without development
dependencies and will cause tracks relying on GS hosted private buckets
to fail.

Closes #1269
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something's wrong :Packaging Installation issues or packaging problems
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant