mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00

The grpc-proxy test logic was assuming that the context associated to client is closed, while in practice all tests called client.Close() without explicit context close. The current testing strategy is complicated 2 fold: - grpc proxy works like man-in-the middle of each Connection issues from integration tests and its lifetime is bound to the connection. - both connections (client -> proxy, and proxy -> etcd-server) are represented by the same ClientV3 object instance (with substituted implementations of KV or watcher). The fix splits context representing proxy from context representing proxy -> etcd-server connection, thus allowing cancelation of the proxy context.