You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "QuentinYo (via GitHub)" <gi...@apache.org> on 2023/04/11 07:48:15 UTC

[GitHub] [dubbo] QuentinYo opened a new issue, #12064: provider端的序列化协议强校验策略在停机时可能导致部分请求失败

QuentinYo opened a new issue, #12064:
URL: https://github.com/apache/dubbo/issues/12064

   背景:
   dubbo版本:3.0.12
   dubbo.shutdownHook.listenIgnore:设置为true,禁用dubbo的停机机制,使用spring停机事件
   
   问题描述:
   使用spring停机事件停机时,会执行下图的过程:
   (org.apache.dubbo.config.ServiceConfig#unexport)
   ![image](https://user-images.githubusercontent.com/7312478/231090972-21d11e9c-a1a9-4b47-b5db-60c670aeb466.png)
   ![image](https://user-images.githubusercontent.com/7312478/231091146-b88017af-4cb7-43cf-851e-ec50e4edee55.png)
   ![image](https://user-images.githubusercontent.com/7312478/231091225-2664a708-3b1d-4bc7-b328-ceceb107133d.png)
   服务对应的urls被从providerUrlsWithoutGroup中移除了
   
   而停机初期,provider处理残余任务时,会有如下过程:
   org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation#decode(org.apache.dubbo.remoting.Channel, java.io.InputStream) (红框中为序列化协议强校验策略)
   ![image](https://user-images.githubusercontent.com/7312478/231089882-6d2738b7-88d7-4f88-95b9-966012c3a242.png)
   
   org.apache.dubbo.remoting.transport.CodecSupport#checkSerialization
   ![image](https://user-images.githubusercontent.com/7312478/231090013-584bf27a-c9f4-4600-a2dc-3538d9270bf5.png)
   
   


-- 
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.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


[GitHub] [dubbo] AlbumenJ commented on issue #12064: provider端的序列化协议强校验策略在停机时可能导致部分请求失败

Posted by "AlbumenJ (via GitHub)" <gi...@apache.org>.
AlbumenJ commented on issue #12064:
URL: https://github.com/apache/dubbo/issues/12064#issuecomment-1505113766

   这个停机的是时序需要调整下,优先反注册,然后等待到没请求关闭协议


-- 
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


[GitHub] [dubbo] QuentinYo commented on issue #12064: provider端的序列化协议强校验策略在停机时可能导致部分请求失败

Posted by "QuentinYo (via GitHub)" <gi...@apache.org>.
QuentinYo commented on issue #12064:
URL: https://github.com/apache/dubbo/issues/12064#issuecomment-1505241334

   目前大的顺序确实是先进行反注册,再等待到没请求关闭协议。但是在细节上有点问题,反注册时删除了请求处理过程中需要的数据(上面提到的providerUrlsWithoutGroup中的数据),导致校验序列化协议时报错


-- 
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


[GitHub] [dubbo] QuentinYo commented on issue #12064: provider端的序列化协议强校验策略在停机时可能导致部分请求失败

Posted by "QuentinYo (via GitHub)" <gi...@apache.org>.
QuentinYo commented on issue #12064:
URL: https://github.com/apache/dubbo/issues/12064#issuecomment-1507883259

   ![image](https://user-images.githubusercontent.com/7312478/231934405-ccdfb70a-611e-4fbd-a3a0-76b48b3e92be.png)
   
   帮忙看看这个思路可行吗 @AlbumenJ 


-- 
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


[GitHub] [dubbo] QuentinYo commented on issue #12064: provider端的序列化协议强校验策略在停机时可能导致部分请求失败

Posted by "QuentinYo (via GitHub)" <gi...@apache.org>.
QuentinYo commented on issue #12064:
URL: https://github.com/apache/dubbo/issues/12064#issuecomment-1507878266

   有啥解决办法吗


-- 
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


[GitHub] [dubbo] QuentinYo closed issue #12064: provider端的序列化协议强校验策略在停机时可能导致部分请求失败

Posted by "QuentinYo (via GitHub)" <gi...@apache.org>.
QuentinYo closed issue #12064: provider端的序列化协议强校验策略在停机时可能导致部分请求失败
URL: https://github.com/apache/dubbo/issues/12064


-- 
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