bbossgroups rpc框架修复了一个bug
bug的描述如下:
客服端发起远程调用后,一旦在调用的过程中(请求发送过程中)出现异常就会导致客服端请求一直等待直到超时后才能返回,这时将会抛出超时异常,真正的异常并没被抛出到客户端程序中。
bug分析:
出现这个问题的原因主要是rpc框架中没有很好地处理请求发送过程中由rpc框架本身产生的异常(比如运行过程中服务端突然不可达或者关闭)而是直接将这些异常丢弃,这样客服端同步等待进程没有及时唤醒,直到超时后才自动唤醒,导致客服端不必要的等待延时。
bug解决办法:
当请求发送过程中rpc框架本身产生异常时,添加正确地处理这些异常的方法,及时唤醒客户端同步等待进程,并将具体的异常返回给客户端调用程序。