Description
The API / behavior was originally removed during the changes in:
Later, we found this caused downstream compatibility problems for Dubbo-Go:
In particular, removing the grpc.WithBlock()-related behavior in gost affected the initialization semantics along this dependency chain:
dubbo-go -> gost -> etcd/clientv3 -> grpc
As discussed in #3070, this broke the expected behavior in the etcd registry path and caused unit test failures in Dubbo-Go.
Now the upstream etcd side has already updated the related implementation / discussion:
So I think it is time to add this API / behavior back in gost.
Motivation
The original removal was understandable at that time, but it introduced real downstream compatibility issues.
Since the upstream dependency has now moved forward, restoring this API / behavior would help downstream projects such as Dubbo-Go remove temporary compatibility workarounds and recover the expected client initialization semantics.
References
Description
The API / behavior was originally removed during the changes in:
Later, we found this caused downstream compatibility problems for Dubbo-Go:
gost最新的版本里面grpc.WithBlocks函数被删除,导致 dubbo-go 的单元测试失败 #3070In particular, removing the
grpc.WithBlock()-related behavior ingostaffected the initialization semantics along this dependency chain:dubbo-go->gost->etcd/clientv3->grpcAs discussed in #3070, this broke the expected behavior in the etcd registry path and caused unit test failures in Dubbo-Go.
Now the upstream etcd side has already updated the related implementation / discussion:
grpc.DialOptionhave marked as deprecated in grpc, Is there any plan to replace it inclientv3.config? etcd-io/etcd#20910grpc.DialOptionhave marked as deprecated in grpc, Is there any plan to replace it inclientv3.config? etcd-io/etcd#20910 (comment)So I think it is time to add this API / behavior back in
gost.Motivation
The original removal was understandable at that time, but it introduced real downstream compatibility issues.
Since the upstream dependency has now moved forward, restoring this API / behavior would help downstream projects such as Dubbo-Go remove temporary compatibility workarounds and recover the expected client initialization semantics.
References
gost最新的版本里面grpc.WithBlocks函数被删除,导致 dubbo-go 的单元测试失败 #3070grpc.DialOptionhave marked as deprecated in grpc, Is there any plan to replace it inclientv3.config? etcd-io/etcd#20910