-
Notifications
You must be signed in to change notification settings - Fork 9.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
Watch API. blocked forever even with WithRequireLeader option. #12534
Comments
@timestee Whether a leader exists in a cluster is only checked at the time of creating a Watch. This check is true for any gRPC call given this check is done only in Interceptor and not afterwards. IIUC, what you are asking can be a future enhancement (but I assume this needs to be done in a way where it does not change existing behavior but provides a new capability to cancel watch if there is no leader). |
@agargi you got my point,
|
Went through the same, here's my conclusion from a while ago: kubernetes/kubernetes#89488 (comment) |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions. |
It is a nice to have feature. Probably etcd should check if the server maintains leadership for long running requests. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions. |
the client code can cause this result in extreme scenarios, and I have reported it as a bug: |
Perhaps duplicated with this issue : #12022 but even with
WithRequireLeader
option.When the connection is disconnected, due to a restart of the etcd server, sometimes reading from the watch channel is blocked forever even with
WithRequireLeader
option, Just got these error log:Code snippet:
golang client version : v3.3.0-rc.0.0.20200720071305-89da79188f73
server version : etcd Version: 3.4.13
The text was updated successfully, but these errors were encountered: