grpc bidir stream not crossing nodes in ETCD cluster

49 views Asked by At

I'm using PHP and the gRPC API to talk to an etcd cluster. I'm trying to do a watch on a range of keys. I get a WatchClient and call Watch to get a BiDiStreamingCall object and write a WatchCreateRequest. I then go into a loop reading from the stream and processing Events. If the etcd cluster node I'm communicating with goes down, subsequent calls to BiDiStreamingCall::read() fail. My understanding is that as long as there are nodes available the read function should continue. Is this not the case?

1

There are 1 answers

0
Gregg H On BEST ANSWER

The BiDiStreamingCall connection sets up communication with a specific node in the etcd cluster. If the connection to that node is lost, the Watch is terminated.