Pre-check
- [X] I am sure that all the content I provide is in English.
Search before asking
- [X] I had searched in the issues and found no similar issues.
Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
This issue occurs in both Dubbo 3.3.0 and 3.2.16. Java version: 17.0.12 Operating System: macOS 14.6.1 (23G93)
Steps to reproduce this issue
When using AsyncContext for asynchronous service processing, a java.util.concurrent.RejectedExecutionException: null is occasionally thrown during a loop of 10,000 iterations.
However, the same code works successfully without errors in Dubbo 3.2.15.
2024-09-14T14:58:17.101+04:00 WARN 39176 --- [lientWorker-2-1] r.p.t.t.TripleHttp2ClientResponseHandler : [DUBBO] Meet Exception on ClientResponseHandler, status code is: INTERNAL, dubbo version: 3.3.0, current host: 192.168.200.145, error code: 4-10. This may be caused by , go to https://dubbo.apache.org/faq/4/10 to find instructions.
java.util.concurrent.RejectedExecutionException: null
at org.apache.dubbo.common.threadpool.ThreadlessExecutor.execute(ThreadlessExecutor.java:101) ~[dubbo-3.3.0.jar:3.3.0]
at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.schedule(SerializingExecutor.java:73) ~[dubbo-3.3.0.jar:3.3.0]
at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.execute(SerializingExecutor.java:65) ~[dubbo-3.3.0.jar:3.3.0]
at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener.onClose(AbstractTripleClientStream.java:459) ~[dubbo-3.3.0.jar:3.3.0]
at org.apache.dubbo.rpc.protocol.tri.transport.TripleHttp2ClientResponseHandler.channelInactive(TripleHttp2ClientResponseHandler.java:83) ~[dubbo-3.3.0.jar:3.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1402) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:900) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
at io.netty.handler.codec.http2.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2.run(AbstractHttp2StreamChannel.java:797) ~[netty-codec-http2-4.1.112.Final.jar:4.1.112.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:173) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:166) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) ~[netty-transport-4.1.112.Final.jar:4.1.112.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.112.Final.jar:4.1.112.Final]
at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
What you expected to happen
3.3.0 version and 3.2.16 versin dubbo, not this error
Anything else
No response
Are you willing to submit a pull request to fix on your own?
- [X] Yes I am willing to submit a pull request on my own!
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
Comment From: AlbumenJ
You may exceed the concurrency limit in provider side
Comment From: judong
You may exceed the concurrency limit in provider side
but... 3.2.15 not this problem
Comment From: AlbumenJ
Can you please provide a demo?
Comment From: the3rd
I got the same error and roll back to 3.2.15.
Comment From: AllKai
I got the same error and version is 3.3.1
Comment From: AllKai
```2024-10-15T10:37:20.842+08:00 WARN 1 --- [d-engine] [ientWorker-16-1] r.p.t.t.TripleHttp2ClientResponseHandler : [DUBBO] Meet Exception on ClientResponseHandler, status code is: INTERNAL, dubbo version: 3.3.1, current host: 10.224.202.60, error code: 4-10. This may be caused by , go to https://dubbo.apache.org/faq/4/10 to find instructions. java.util.concurrent.RejectedExecutionException: null at org.apache.dubbo.common.threadpool.ThreadlessExecutor.execute(ThreadlessExecutor.java:101) ~[dubbo-3.3.1.jar!/:3.3.1] at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.schedule(SerializingExecutor.java:73) ~[dubbo-3.3.1.jar!/:3.3.1] at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.execute(SerializingExecutor.java:65) ~[dubbo-3.3.1.jar!/:3.3.1] at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener.onClose(AbstractTripleClientStream.java:459) ~[dubbo-3.3.1.jar!/:3.3.1] at org.apache.dubbo.rpc.protocol.tri.transport.TripleHttp2ClientResponseHandler.channelInactive(TripleHttp2ClientResponseHandler.java:83) ~[dubbo-3.3.1.jar!/:3.3.1] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1402) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:900) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.handler.codec.http2.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2.run(AbstractHttp2StreamChannel.java:797) ~[netty-codec-http2-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
**Comment From: AllKai**
> ```
> java.util.concurrent.RejectedExecutionException: null
> at org.apache.dubbo.common.threadpool.ThreadlessExecutor.execute(ThreadlessExecutor.java:101) ~[dubbo-3.3.1.jar!/:3.3.1]
> at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.schedule(SerializingExecutor.java:73) ~[dubbo-3.3.1.jar!/:3.3.1]
> at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.execute(SerializingExecutor.java:65) ~[dubbo-3.3.1.jar!/:3.3.1]
> at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener.onClose(AbstractTripleClientStream.java:459) ~[dubbo-3.3.1.jar!/:3.3.1]
> at org.apache.dubbo.rpc.protocol.tri.transport.TripleHttp2ClientResponseHandler.channelInactive(TripleHttp2ClientResponseHandler.java:83) ~[dubbo-3.3.1.jar!/:3.3.1]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1402) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:900) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.handler.codec.http2.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2.run(AbstractHttp2StreamChannel.java:797) ~[netty-codec-http2-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) ~[netty-transport-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final]
> at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.112.Final.jar!/:4.1.112.Final]
> at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
> ```
<img width="1288" alt="image" src="https://github.com/user-attachments/assets/f37e668a-643c-48ae-bce7-f8dd47470b6c">
**Comment From: AlbumenJ**
`Client` is already timeout and throw reject execution exception
**Comment From: AllKai**
> `Client` is already timeout and throw reject execution exception
So, how can I solve this?
**Comment From: AlbumenJ**
Check if your load is really high or change the `timeout`
**Comment From: the3rd**
> Check if your load is really high or change the `timeout`
3.2.15 is OK. Why?
**Comment From: HelloToGithub**
I got the same error and version is 3.3.2
**Comment From: HelloToGithub**
@AlbumenJ this is demo and There is a probability that the following errors will occur after executing several times
public void test() { for (int i = 0; i < 100; i++) { int finalI = i; executeJob(() -> { log.info("test: {}", finalI); // dubbo request iCommonService.test(); }); } }
public static void executeJob(Runnable handle) { executeJob(handle, null); }
public static void executeJob(Runnable handle, Runnable exceptionHandler) { handle.run(); // excute job }
iCommonService.test
public R
java.util.concurrent.RejectedExecutionException: null at org.apache.dubbo.common.threadpool.ThreadlessExecutor.execute(ThreadlessExecutor.java:101) at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.schedule(SerializingExecutor.java:73) at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.execute(SerializingExecutor.java:65) at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener.onClose(AbstractTripleClientStream.java:459) at org.apache.dubbo.rpc.protocol.tri.transport.TripleHttp2ClientResponseHandler.channelInactive(TripleHttp2ClientResponseHandler.java:83) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1352) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:850) at io.netty.handler.codec.http2.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2.run(AbstractHttp2StreamChannel.java:797) at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:166) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:840) ```
Comment From: AlbumenJ
@AlbumenJ this is demo and There is a probability that the following errors will occur after executing several times
``` public void test() { for (int i = 0; i < 100; i++) { int finalI = i; executeJob(() -> { log.info("test: {}", finalI); // dubbo request iCommonService.test(); }); } }
public static void executeJob(Runnable handle) { executeJob(handle, null); }
public static void executeJob(Runnable handle, Runnable exceptionHandler) { handle.run(); // excute job }
iCommonService.test public R
test() { try { Thread.sleep(1000); } catch (InterruptedException e) { throw new RuntimeException(e); } return R.ok(); } java.util.concurrent.RejectedExecutionException: null at org.apache.dubbo.common.threadpool.ThreadlessExecutor.execute(ThreadlessExecutor.java:101) at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.schedule(SerializingExecutor.java:73) at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.execute(SerializingExecutor.java:65) at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener.onClose(AbstractTripleClientStream.java:459) at org.apache.dubbo.rpc.protocol.tri.transport.TripleHttp2ClientResponseHandler.channelInactive(TripleHttp2ClientResponseHandler.java:83) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1352) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:850) at io.netty.handler.codec.http2.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2.run(AbstractHttp2StreamChannel.java:797) at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:166) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:840) ```
Can you please provide a runnable demo on Github with your customzied configurations.
Comment From: ymlisoft
I got the same error with dubbo 3.3.2
Comment From: HelloToGithub
@AlbumenJ this is demo and There is a probability that the following errors will occur after executing several times ``` public void test() { for (int i = 0; i < 100; i++) { int finalI = i; executeJob(() -> { log.info("test: {}", finalI); // dubbo request iCommonService.test(); }); } }
public static void executeJob(Runnable handle) { executeJob(handle, null); }
public static void executeJob(Runnable handle, Runnable exceptionHandler) { handle.run(); // excute job }
iCommonService.test public R
test() { try { Thread.sleep(1000); } catch (InterruptedException e) { throw new RuntimeException(e); } return R.ok(); } java.util.concurrent.RejectedExecutionException: null at org.apache.dubbo.common.threadpool.ThreadlessExecutor.execute(ThreadlessExecutor.java:101) at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.schedule(SerializingExecutor.java:73) at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.execute(SerializingExecutor.java:65) at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener.onClose(AbstractTripleClientStream.java:459) at org.apache.dubbo.rpc.protocol.tri.transport.TripleHttp2ClientResponseHandler.channelInactive(TripleHttp2ClientResponseHandler.java:83) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1352) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:850) at io.netty.handler.codec.http2.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2.run(AbstractHttp2StreamChannel.java:797) at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:166) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:840) ```
Can you please provide a runnable demo on Github with your customzied configurations.
@AlbumenJ Can be reproduced using the official demo https://github.com/apache/dubbo-samples/tree/master/11-quickstart
QuickStartApplicationTests
`@SpringBootTest class QuickStartApplicationTests {
@DubboReference(scope = "remote")
private DemoService demoService;
@Test
void contextLoads() {
for (int i = 0; i < 100; i++) {
int finalI = i;
executeJob(() -> {
String result = demoService.sayHello("world" + finalI);
System.out.println("Receive result ======> " + result);
});
}
}
public static void executeJob(Runnable handle) {
executeJob(handle, null);
}
public static void executeJob(Runnable handle, Runnable exceptionHandler) {
handle.run(); // excute job
}
} ` DemoServiceImpl
` @DubboService public class DemoServiceImpl implements DemoService {
@Override
public String sayHello(String name) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
return "Hello " + name;
}
}`
3.3.1 got the same error but 3.3.0 is no such issue
Comment From: HelloToGithub
@AlbumenJ Have you confirmed if there are any issues?
Comment From: oxsean
Sorry for the delay. I'll look into it this week.
Comment From: HelloToGithub
Sorry for the delay. I'll look into it this week. @oxsean Hi,Do you look into it?
Comment From: oxsean
@HelloToGithub Failed to reproduce it on your codes, can you provide a full demo?
https://github.com/oxsean/dubbo-samples/tree/1224-async
Comment From: wangchengming666
@judong any feedback on this issue?