startjava opened a new issue #8718:
URL: https://github.com/apache/dubbo/issues/8718
说一下基本情况。
服务提供者:
```
public class HelloService4 implements IService4 {
@Value("${server.port}")
private int portValue;
@Override
public String getHello(String username) {
System.out.println("HelloService4 portValue=" + portValue + "
username=" + username);
return "hello4 " + username + " port=" + portValue;
}
}
```
服务消费者:
```
@RequestMapping("Test4")
public void test4(HttpServletRequest request, HttpServletResponse
response) {
for (int i = 0; i < 3000; i++) {
String helloString = service4.getHello("中国人4-" + (i + 1));
System.out.println("public String test4() " + helloString + "
i=" + (i + 1));
Thread.yield();
}
}
```
注意:服务消费者使用failback!服务消费者使用failback!服务消费者使用failback!服务消费者使用failback!
正常的操作过程:
(1)启动3个服务提供者
(2)启动1个服务消费者
(3)执行服务消费者的Controller调用服务提供者
(4)在服务消费者的控制台输出的结果中使用工具明确确定执行了3000次,不多不少。
问题来了!
(1)停止所有服务提供者进程
(2)执行服务消费者的Controller调用服务提供者,在内部会走定时器队列,因为调用超时了。
(3)启动1个服务提供者,这时控制台出现异常:
[新建文本文档 (4).txt](https://github.com/apache/dubbo/files/7124919/4.txt)
(4)查询“HelloService4 portValue=8086 username=中国人4-”字符串,查询出3002个。
多出2个!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!有的时候还会是2993或2997,不是多就是少,有的时候是3000,但机会很少!!!!!!!
我猜测当服务提供者启动时出现的那几个异常导致的。
这肯定是一个bug
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]