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

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

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

3.3.2

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

}`

Apache Dubbo [Bug] In Dubbo 3.3.0 & 3.2.16, when using AsyncContext for asynchronous service processing, during a loop of 10,000 iterations, a java.util.concurrent.RejectedExecutionException: null is occasionally thrown.

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 Apache Dubbo [Bug] In Dubbo 3.3.0 & 3.2.16, when using AsyncContext for asynchronous service processing, during a loop of 10,000 iterations, a java.util.concurrent.RejectedExecutionException: null is occasionally thrown.

Comment From: wangchengming666

@judong any feedback on this issue?