C20171008S commented on issue #12209:
URL: https://github.com/apache/dubbo/issues/12209#issuecomment-1533946160

   package com.example.dubbo;
   
   import org.apache.dubbo.config.ApplicationConfig;
   import org.apache.dubbo.config.ReferenceConfig;
   import org.apache.dubbo.config.RegistryConfig;
   
   import java.util.HashMap;
   import java.util.concurrent.CountDownLatch;
   
   /**
    * dubbo消费者
    *
    * @author: caolu
    * @email: [email protected]
    * @date: 2023-04-28 09:04:00
    */
   public class Consumer {
       private static String zookeeperHost = 
System.getProperty("zookeeper.address", "127.0.0.1");
   
       public static void main(String[] args) throws InterruptedException {
           ReferenceConfig<Provider.UserService> reference = new 
ReferenceConfig<>();
   
           ApplicationConfig application = new 
ApplicationConfig("dubbo-consumer");
           application.setQosEnable(false);
           reference.setApplication(application);
   
           reference.setRegistry(new RegistryConfig("zookeeper://" + 
zookeeperHost + ":2181"));
           reference.setInterface(Provider.UserService.class);
           Provider.UserService service = reference.get();
           CountDownLatch countDownLatch = new CountDownLatch(64);
           long t1 = System.currentTimeMillis();
           for (int i = 0; i < 64; i++) {
               new Thread(() -> {
                   for (int i1 = 0; i1 < 10000; i1++) {
                       service.exec(new HashMap<String,Object>() {{
                           put("a", 1);
                       }});
                       service.deleteBy(new Long[]{1L});
                   }
                   countDownLatch.countDown();
   
               }).start();
           }
           countDownLatch.await();
           System.err.println("QPS:" + (64 * 10000 / 
(System.currentTimeMillis() - t1) * 1000));
   
       }
   }
   
   
   package com.example.dubbo;
   
   import com.alibaba.fastjson2.JSON;
   import org.apache.dubbo.config.ApplicationConfig;
   import org.apache.dubbo.config.RegistryConfig;
   import org.apache.dubbo.config.ServiceConfig;
   
   import java.util.Map;
   import java.util.concurrent.CountDownLatch;
   
   /**
    * dubbo提供者
    *
    * @author: caolu
    * @email: [email protected]
    * @date: 2023-04-28 09:00:00
    */
   public class Provider {
   
       private static String zookeeperHost = 
System.getProperty("zookeeper.address", "127.0.0.1");
   
       public static void main(String[] args) throws Exception {
           ServiceConfig<UserService> service = new ServiceConfig<>();
   
           ApplicationConfig application = new 
ApplicationConfig("dubbo-provider");
           application.setQosEnable(false);
           service.setApplication(application);
   
           service.setRegistry(new RegistryConfig("zookeeper://" + 
zookeeperHost + ":2181"));
           service.setInterface(UserService.class);
           service.setRef(new UserServiceImpl());
           service.export();
   
           System.out.println("Dubbo provider started");
   
           new CountDownLatch(1).await();
       }
   
   
       public static class UserServiceImpl implements UserService {
   
           @Override
           public String exec(Map<String, Object> params) {
               return "success";
           }
   
           @Override
           public void deleteBy(Long[] ids) {
               System.out.println(JSON.toJSONString(ids));
   
           }
       }
   
       interface UserService {
           /**
            * 按照条件执行
            *
            * @param params
            * @return
            */
           String exec(Map<String, Object> params);
   
           /**
            * 删除
            *
            * @param ids
            */
           void deleteBy(Long[] ids);
       }
   
   
   }
   
   
   
   
   
   org.apache.dubbo.rpc.RpcException: Failed to invoke the method deleteBy in 
the service com.example.dubbo.Provider$UserService. Tried 3 times of the 
providers [10.88.107.34:20880] (1/1) from the registry 127.0.0.1:2181 on the 
consumer 10.88.107.34 using the dubbo version 3.2.0. Last error is: Failed to 
invoke remote method: deleteBy, provider: 
dubbo://10.88.107.34:20880/com.example.dubbo.Provider$UserService?anyhost=true&application=dubbo-provider&background=false&category=providers,configurators,routers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&interface=com.example.dubbo.Provider$UserService&methods=deleteBy,exec&pid=10516&prefer.serialization=fastjson2,hessian2&qos.enable=false&release=3.2.0&service-name-mapping=true&side=provider&sticky=false&unloadClusterRelated=false,
 cause: org.apache.dubbo.remoting.RemotingException: Fail to decode request due 
to: RpcInvocation [methodName=deleteBy, parameterTypes=
 null]
        at 
org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:115)
        at 
org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:341)
        at 
org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:101)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:51)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.rpc.cluster.filter.support.ObservationSenderFilter.invoke(ObservationSenderFilter.java:61)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:41)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:118)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194)
        at 
org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:91)
        at 
org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:103)
        at 
org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:131)
        at 
org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:284)
        at 
org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:57)
        at 
org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75)
        at 
com.example.dubbo.Provider$UserServiceDubboProxy0.deleteBy(Provider$UserServiceDubboProxy0.java)
        at com.example.dubbo.Consumer.lambda$main$0(Consumer.java:38)
        at java.base/java.lang.Thread.run(Thread.java:1623)
   Caused by: java.util.concurrent.ExecutionException: 
org.apache.dubbo.remoting.RemotingException: Fail to decode request due to: 
RpcInvocation [methodName=deleteBy, parameterTypes=null]
        at 
java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
        at 
java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096)
        at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:208)
        at 
org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:286)
        at 
org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:189)
        at 
org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:71)
        at 
org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:51)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331)
        at 
org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194)
        at 
org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:78)
        at 
org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:380)
        at 
org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:81)
        ... 27 more


-- 
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]

Reply via email to