You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2022/11/14 10:56:56 UTC

[GitHub] [dubbo] AlbumenJ commented on pull request #8755: [3.0] close client immediately when destroy unused invoker

AlbumenJ commented on PR #8755:
URL: https://github.com/apache/dubbo/pull/8755#issuecomment-1313478456

   这个问题我复现了下,本质上是由于 3.0 之前的版本在订阅 MetadataService 的时候只会创建不会销毁,导致多了一个 reference 在 MetadataService 上,进而导致服务端下线之后重连机制还在。
   
   这个问题在 #10148 中已经修复,对应修复的版本号是 3.0.10。
   
   这个 pr 中原本使用 `destroyAll` 的方式会导致如果多个服务订阅复用了连接,其中一个服务下线会关闭整个连接,进而导致连接抖动和出现 `safe guard client , should not be called ,must have a bug` 的报错。
   
   目前接口级的 Directory 和应用级的 ServiceDirectory 都应该和 reference 数对应,如果不对应需要修复对应关系,从底层直接关闭连接在极端场景下带来的问题更严重。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org