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

Increase expireDelta time to 60 seconds #359

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

xaurx
Copy link

@xaurx xaurx commented Jan 15, 2019

10 seconds token expire delta is too small as on poor connections one can easily end up with
401 error due to temporary network issues and lengthy TCP/IP retries.
It leads to a rather misleading 401 authorization error.

The issue is observed in real-life with Google Cloud object storage and other services.

@googlebot
Copy link

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

10 seconds token expire delta is too small as on poor connections one can easily end up with
401 error due to temporary network issues and lengthy TCP/IP retries.
It leads to a rather misleading 401 authorization error.

The issue is observed in real-life with Google Cloud object storage and other services.
@xaurx
Copy link
Author

xaurx commented Jan 15, 2019

signed

@googlebot
Copy link

CLAs look good, thanks!

@gopherbot
Copy link
Contributor

This PR (HEAD: 0ad0f25) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/c/oauth2/+/157957 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link
Contributor

Message from Gobot Gobot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
Within the next week or so, a maintainer will review your change and provide
feedback. See https://golang.org/doc/contribute.html#review for more info and
tips to get your patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.

During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11, it means that this CL will be reviewed as part of the next development
cycle. See https://golang.org/s/release for more details.


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Brad Fitzpatrick:

Patch Set 1:

If we get a 401, we'd see the server's Date header, no? That might be a good time to learn the clock skew & adjust for future retries.

Something more principled like that seems preferable over just tweaking constants higher forever.


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Basikos Malento:

Patch Set 1: Code-Review+1

Patch Set 1:

If we get a 401, we'd see the server's Date header, no? That might be a good time to learn the clock skew & adjust for future retries.

I believe you get it wrong, it's not about clock skew (and BTW none of cloud libraries do this). Instead situation happens with correct clocks. It's just possible that correctly formed request is received in about ~1 min after being sent due to all the SYN / SSL handshake and data packet TCP retransmits.


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Brad Fitzpatrick:

Patch Set 1: Code-Review-1

In any case, this feels like a hacky fix and I'm not sure where it ends.


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Basikos Malento:

Patch Set 1:

In any case, this feels like a hacky fix and I'm not sure where it ends.

please suggest your ideas how to fix it nicer?


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Kate Hill:

Patch Set 1: Code-Review+1

Looks good to me and logical


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Alexey Neganov:

Patch Set 1: Code-Review+1

Looks as simple & reliable fix


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Go Bot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
Within the next week or so, a maintainer will review your change and provide
feedback. See https://golang.org/doc/contribute.html#review for more info and
tips to get your patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.

During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11, it means that this CL will be reviewed as part of the next development
cycle. See https://golang.org/s/release for more details.


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@cgostuff
Copy link

Still open 2 years later. Can we get a verdict on this?

@gopherbot
Copy link
Contributor

Message from Deleted User:

Patch Set 1: Code-Review+1

Patch Set 1:

If we get a 401, we'd see the server's Date header, no? That might be a good time to learn the clock skew & adjust for future retries.

I believe you get it wrong, it's not about clock skew (and BTW none of cloud libraries do this). Instead situation happens with correct clocks. It's just possible that correctly formed request is received in about ~1 min after being sent due to all the SYN / SSL handshake and data packet TCP retransmits.


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Deleted User:

Patch Set 1:

In any case, this feels like a hacky fix and I'm not sure where it ends.

please suggest your ideas how to fix it nicer?


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link
Contributor

Message from Deleted User:

Patch Set 1: Code-Review+1

Looks good to me and logical


Please don’t reply on this GitHub thread. Visit golang.org/cl/157957.
After addressing review feedback, remember to publish your drafts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants