Skip to content

Enhance watcher behavior#1323

Open
alvalin0203 wants to merge 2 commits intokragniz:masterfrom
alvalin0203:master
Open

Enhance watcher behavior#1323
alvalin0203 wants to merge 2 commits intokragniz:masterfrom
alvalin0203:master

Conversation

@alvalin0203
Copy link

Expose grpc cancel error to etcd client to avoid client hang forever
Relative issue refer to #1227
Main modify in watch.py
Root cause:1. If there is no any interacting between client and server for specific time(for example 5minutes),that leads server delete client‘s token,which client is not aware of that,when client rebuild a new watch,grpc server would return response,which response's create property is true,but cancle property also is true,in original etcd code that just judge create property,would regard this response as successful which would lead to the client thought watch request is successful, but in actually failed, therefore the client would never received any response any more. So in this fix,expose server watch cancel response as canceled exception to client to make it rebuild token
2. Fix in watcher run function handle exception part which lose control of lock part, therefore would cause concurrence problem

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.

1 participant