-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
A dead LDAP upstream can block the authentication and show global variables
.
#51883
Comments
@YangKeao |
@aki263 Good suggestion. TiDB has a mechanism to retry to establish connection with the LDAP server (for 10 times), when it fails. I'll add some backoff to avoid retrying too frequently. I think it'll help a lot to limit the request frequency. Cache on authentication needs more consideration/discussion, because the latency of cache invalidation is not always expected (especially when it's related to security) 🤔 . |
Enhancement
Some functions about
LDAP
don't have timeout mechanism (e.g.StartTLS
), therefore, theRLock
of it cannot be released until the upstream returns.I'd like to address the following enhancement:
RLock
. AnRLock
in golang can block theLock
, and a pending write lock will blocks all otherRLock
, which will make the things much worse.LDAP
functions.The text was updated successfully, but these errors were encountered: