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

Remove duplicate retry handler registration #1719

Merged
merged 2 commits into from
May 17, 2019

Conversation

jamesls
Copy link
Member

@jamesls jamesls commented Apr 17, 2019

The retry handlers that hook up to service-data-loaded
were added before botocore clients were added. This results
in the client level retry handlers being a no-op if they were
already loaded (they use the same unique_id).

This means you can have subtly different behavior
depending on if you (or something else) calls
session.get_service_data().

I also changed kinesis per-op to be per-service

The LimitExceededException doesn't apply to just
DescribeStream and the client-based retry handler
doesn't support per-operation retries.
This also ensures we continue to retry this
exception in kinesis for DescribeStream without
requiring per-operation retry functionality.

Fixes #1698

The LimitExceededException doesn't apply to just
DescribeStream and the client-based retry handler
doesn't support per-operation retries.
The retry handlers that hook up to service-data-loaded
were added before botocore clients were added.  This results
in the client level retry handlers being a no-op if they were
already loaded (they use the same unique_id).

This means you can have subtly different behavior
depending on if you (or something else) calls
`session.get_service_data()`.
@codecov-io
Copy link

codecov-io commented Apr 17, 2019

Codecov Report

Merging #1719 into develop will decrease coverage by 0.04%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1719      +/-   ##
===========================================
- Coverage    92.45%   92.41%   -0.05%     
===========================================
  Files           53       53              
  Lines         9872     9843      -29     
===========================================
- Hits          9127     9096      -31     
- Misses         745      747       +2
Impacted Files Coverage Δ
botocore/handlers.py 97.14% <ø> (+0.03%) ⬆️
botocore/credentials.py 98.43% <0%> (-0.4%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a7b5ffb...ffaf4e6. Read the comment docs.

Copy link
Contributor

@JordonPhillips JordonPhillips left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could just introduce per-operation retry functionality to the client handler, but like you mention in the linked issue I don't think we need to worry too much about people having their own retry config. It was always an internal implementation detail anyway.

Copy link
Contributor

@kyleknap kyleknap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me.

@jamesls jamesls merged commit ffaf4e6 into boto:develop May 17, 2019
jamesls added a commit that referenced this pull request May 17, 2019
PR #1719

* remove-dupe-retry:
  Remove duplicate retry handler registration
  Change kinesis per-op to be per-service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Retry configuration is ignored after call to get_available_regions()
4 participants