8000 [Bug] When new pull request about proto, Unit Test on ubuntu-latest sometime will throw IllegalStateException: Not found class TestService · Issue #15361 · apache/dubbo · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
[Bug] When new pull request about proto, Unit Test on ubuntu-latest sometime will throw IllegalStateException: Not found class TestService #15361
Open
@paxxie2

Description

@paxxie2

Pre-check

  • I am sure that all the content I provide is in English.

Search before asking

  • I had searched in the issues and found no similar issues.

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

Dubbo 3.3.1 , java 17, mac 15.3.2

Steps to reproduce this issue

I new a pull request about proto, Unit Test On ubuntu-latest execute failed, see https://github.com/apache/dubbo/actions/runs/14910545315/job/41883681545?pr=15360 .
Key log:

 [INFO] Running org.apache.dubbo.rpc.protocol.dubbo.MultiThreadTest
15:58:33.683 |-INFO  [main] bo.remoting.transport.netty4.NettyServer:69  -|  [DUBBO] Start NettyServer bind /0.0.0.0:31715, export /127.0.0.1:31715, dubbo version: 3.3.4-SNAPSHOT, current host: 10.1.0.186
15:58:33.687 |-INFO  [main] bo.remoting.transport.netty4.NettyClient:278 -|  [DUBBO] Successfully connect to server /10.1.0.186:31715 from NettyClient 10.1.0.186 using dubbo version 3.3.4-SNAPSHOT, channel is NettyChannel [channel=[id: 0xb9a4cf08, L:/10.1.0.186:54996 - R:/10.1.0.186:31715]], dubbo version: 3.3.4-SNAPSHOT, current host: 10.1.0.186
15:58:33.687 |-INFO  [main] bo.remoting.transport.netty4.NettyClient:95  -|  [DUBBO] Start NettyClient /10.1.0.186 connect to the server /10.1.0.186:31715, dubbo version: 3.3.4-SNAPSHOT, current host: 10.1.0.186
15:58:33.687 |-INFO  [NettyClientWorker-44-1] ting.transport.netty4.NettyClientHandler:64  -|  [DUBBO] The connection [id: 0xb9a4cf08, L:/10.1.0.186:54996 - R:/10.1.0.186:31715] of 10.1.0.186:54996 -> 10.1.0.186:31715 is established., dubbo version: 3.3.4-SNAPSHOT, current host: 10.1.0.186
15:58:33.688 |-INFO  [NettyServerWorker-43-1] ting.transport.netty4.NettyServerHandler:84  -|  [DUBBO] The connection [id: 0xf8f9d072, L:/10.1.0.186:31715 - R:/10.1.0.186:54996] of 10.1.0.186:54996 -> 10.1.0.186:31715 is established., dubbo version: 3.3.4-SNAPSHOT, current host: 10.1.0.186
15:58:33.692 |-WARN  [main]    org.apache.dubbo.rpc.support.RpcUtils:    -|  [DUBBO] Not found class TestService, cause: TestService, dubbo version: 3.3.4-SNAPSHOT, current host: 10.1.0.186, error code: 0-8. This may be caused by , go to https://dubbo.apache.org/faq/0/8 to find instructions. 
java.lang.ClassNotFoundException: TestService
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
	at java.base/java.lang.Class.forName0(Native Method) ~[?:?]
	at java.base/java.lang.Class.forName(Class.java:534) ~[?:?]
	at java.base/java.lang.Class.forName(Class.java:513) ~[?:?]
	at org.apache.dubbo.common.utils.ReflectUtils.name2class(Refle
6DC2
ctUtils.java:791) ~[dubbo-common-3.3.4-SNAPSHOT.jar:3.3.4-SNAPSHOT]
	at org.apache.dubbo.common.utils.ReflectUtils.forName(ReflectUtils.java:696) ~[dubbo-common-3.3.4-SNAPSHOT.jar:3.3.4-SNAPSHOT]
	... 96 more
Wrapped by: java.lang.IllegalStateException: Not found class TestService, cause: TestService

org.apache.dubbo.rpc.protocol.dubbo.MultiThreadTest#testDubboMultiThreadInvoke

    @Test
    void testDubboMultiThreadInvoke() throws Exception {
        ApplicationModel.defaultModel()
                .getDefaultModule()
                .getServiceRepository()
                .registerService("TestService", DemoService.class);
        int port = NetUtils.getAvailablePort();
        Exporter<?> rpcExporter = protocol.export(proxy.getInvoker(
                new DemoServiceImpl(), DemoService.class, URL.valueOf("dubbo://127.0.0.1:" + port + "/TestService")));

        final AtomicInteger counter = new AtomicInteger();
        final DemoService service = proxy.getProxy(
                protocol.refer(DemoService.class, URL.valueOf("dubbo://127.0.0.1:" + port + "/TestService")));
        Assertions.assertEquals(service.getSize(new String[] {"123", "456", "789"}), 3);

        final StringBuffer sb = new StringBuffer();
        for (int i = 0; i < 1024 * 64 + 32; i++) sb.append('A');
        Assertions.assertEquals(sb.toString(), service.echo(sb.toString()));

        ExecutorService exec = Executors.newFixedThreadPool(10);
        for (int i = 0; i < 10; i++) {
            final int fi = i;
            exec.execute(new Runnable() {
                public void run() {
                    for (int i = 0; i < 30; i++) {
                        System.out.println(fi + ":" + counter.getAndIncrement());
                        Assertions.assertEquals(service.echo(sb.toString()), sb.toString());
                    }
                }
            });
        }
        exec.shutdown();
        exec.awaitTermination(10, TimeUnit.SECONDS);
        rpcExporter.unexport();
    }

What you expected to happen

I expect new a pull request about proto success.

Anything else

No response

Are you willing to submit a pull request to fix on your own?

  • Yes I am willing to submit a pull request on my own!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0