question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Remove locks from `OAuth2Client`

See original GitHub issue

OAuth2Client uses ~a dedicated thread pool~ locks and optionally requires a dedicated thread pool(ref. SerialFuture.java) to solve the concurrency issue related to access token refresh where multiple requests try to update the same token concurrently after it gets expired.

We may want to remove the use of a dedicated thread pool and locks while leaving the code fully asynchronous.

Refer to this thread for the direction of improvement.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:1
  • Comments:11 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
ks-yimcommented, May 28, 2021

Thanks, @trustin. I will send a PR next week!

1reaction
trustincommented, May 27, 2021

@ks-yim I’d like to encourage you to send out a draft PR that shows your proposal so we can compare the old and new implementations. 🚀

Read more comments on GitHub >

github_iconTop Results From Across the Web

oauth2client.client.Storage
Store and retrieve a single credential. This class supports locking such that multiple processes and threads can operate on a single store.
Read more >
oauth2client.client module - Read the Docs
Delete credential. Frees any resources associated with storing the credential. The Storage lock must not be held when this is called.
Read more >
oauth2client Documentation - Read the Docs
The lock will be acquired before anything is written or read from the dictionary. locked_delete(). Remove the credentials from the dictionary, ...
Read more >
How to prevent "ImportError: No module named oauth2client ...
I have this problem and solved by installing oauth2client with pip3 : pip3 install --upgrade oauth2client.
Read more >
client.py - Google Git
from oauth2client import GOOGLE_TOKEN_INFO_URI. from oauth2client._helpers import _from_bytes ... around for now, but will remove it in the future.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found