You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "lispking (via GitHub)" <gi...@apache.org> on 2023/04/24 06:50:40 UTC

[GitHub] [dubbo] lispking opened a new issue, #12175: Dubbo 3.2.0 Reactor模式运行报错

lispking opened a new issue, #12175:
URL: https://github.com/apache/dubbo/issues/12175

   ### Environment
   
   * Dubbo version: 3.2.0
   * Operating System version: mac
   * Java version: 17
   
   ### Steps to reproduce this issue
   
   1. proto文件使用官网demo如下:
   ```proto
   syntax = "proto3";
   
   option java_multiple_files = true;
   option java_package = "org.apache.dubbo.hello";
   option java_outer_classname = "HelloWorldProto";
   option objc_class_prefix = "HLW";
   
   package helloworld;
   
   message HelloRequest {
     string name = 1;
   }
   
   message HelloReply {
     string message = 1;
   }
   
   service Greeter{
     rpc greet(HelloRequest) returns (HelloReply);
   }
   
   ```
   
   2. 配置文件定义如下:
   ```yaml
   server:
     port: 8000
   
   dubbo:
     application:
       name: demo-api
       qos-port: 33333
     protocol:
       name: tri
       port: 50052
     registry:
       address: zookeeper://${zookeeper.address:127.0.0.1}:2181
   ```
   
   3. pom.xml代码生成器用的官网代码如下:
   ```
   <plugins>
               <plugin>
                   <groupId>org.xolstice.maven.plugins</groupId>
                   <artifactId>protobuf-maven-plugin</artifactId>
                   <version>0.6.1</version>
                   <configuration>
                       <protocArtifact>com.google.protobuf:protoc:3.19.4:exe:${os.detected.classifier}</protocArtifact>
                       <protocPlugins>
                           <protocPlugin>
                               <id>dubbo</id>
                               <groupId>org.apache.dubbo</groupId>
                               <artifactId>dubbo-compiler</artifactId>
                               <version>${dubbo.version}</version>
                               <mainClass>org.apache.dubbo.gen.tri.reactive.ReactorDubbo3TripleGenerator</mainClass>
                           </protocPlugin>
                       </protocPlugins>
                       <protoSourceRoot>src/main/proto</protoSourceRoot>
                       <outputDirectory>src/main/java</outputDirectory>
                       <clearOutputDirectory>false</clearOutputDirectory>
                   </configuration>
                   <executions>
                       <execution>
                           <goals>
                               <goal>compile</goal>
                           </goals>
                       </execution>
                   </executions>
               </plugin>
           </plugins>
   ```
   
   4. 客户调用代码如下:
   ```java
   @RestController
   public class DemoController {
       @DubboReference
       public Greeter demoService;
   
       @GetMapping("/hello/{name}")
       public Mono<HelloReply> sayHello(@PathVariable String name) {
           return demoService.greet(Mono.just(HelloRequest.newBuilder().setName(name).build()));
       }
   }
   ```
   
   5. 运行代码,请求/hello/xxx会报以下错误
   ```java
   2023-04-24T14:36:19.577+08:00 ERROR 75297 --- [ttp@2a2843ec-29] o.a.d.r.p.tri.call.TripleClientCall      :  [DUBBO] Serialize triple request failed, service=org.apache.dubbo.hello.Greeter method=org.apache.dubbo.rpc.model.ReflectionMethodDescriptor@6da77aa2, dubbo version: 3.2.0, current host: 192.168.1.10, error code: 4-10. This may be caused by , go to https://dubbo.apache.org/faq/4/10 to find instructions. 
   
   java.lang.ClassCastException: class reactor.core.publisher.MonoJust cannot be cast to class com.google.protobuf.Message (reactor.core.publisher.MonoJust and com.google.protobuf.Message are in unnamed module of loader 'app')
   	at org.apache.dubbo.rpc.protocol.tri.ReflectionPackableMethod.lambda$static$0(ReflectionPackableMethod.java:51) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.tri.ReflectionPackableMethod$PbArrayPacker.pack(ReflectionPackableMethod.java:464) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.model.PackableMethod.packRequest(PackableMethod.java:78) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.tri.call.TripleClientCall.sendMessage(TripleClientCall.java:177) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.tri.observer.ClientCallToObserverAdapter.onNext(ClientCallToObserverAdapter.java:44) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.tri.TripleInvoker.invokeUnary(TripleInvoker.java:247) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.tri.TripleInvoker.doInvoke(TripleInvoker.java:140) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.AbstractInvoker.doInvokeAndReturn(AbstractInvoker.java:242) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:186) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:71) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:51) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:78) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:380) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:81) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:341) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:101) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:51) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.support.ObservationSenderFilter.invoke(ObservationSenderFilter.java:61) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:41) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:118) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:331) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:91) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:103) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:131) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:284) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:57) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ~[dubbo-3.2.0.jar:3.2.0]
   	at org.apache.dubbo.hello.GreeterDubboProxy1.greet(GreeterDubboProxy1.java) ~[classes/:na]
   	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
   	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
   	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
   	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
   	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-6.0.7.jar:6.0.7]
   	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:211) ~[spring-aop-6.0.7.jar:6.0.7]
   	at jdk.proxy2/jdk.proxy2.$Proxy64.greet(Unknown Source) ~[na:na]
   	at org.example.DemoController.sayHello(DemoController.java:19) ~[classes/:na]
   ```


-- 
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: notifications-unsubscribe@dubbo.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] lispking commented on issue #12175: Dubbo 3.2.0 Reactor模式运行报错

Posted by "lispking (via GitHub)" <gi...@apache.org>.
lispking commented on issue #12175:
URL: https://github.com/apache/dubbo/issues/12175#issuecomment-1524255703

   > @lispking 指定一下proxy类型为stub即可,如下
   > 
   > ```java
   > @DubboReference(proxy = CommonConstants.NATIVE_STUB)
   > public Greeter demoService;
   > ```
   
   LGTM


-- 
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: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] lispking closed issue #12175: Dubbo 3.2.0 Reactor模式运行报错

Posted by "lispking (via GitHub)" <gi...@apache.org>.
lispking closed issue #12175: Dubbo 3.2.0 Reactor模式运行报错
URL: https://github.com/apache/dubbo/issues/12175


-- 
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: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] icodening commented on issue #12175: Dubbo 3.2.0 Reactor模式运行报错

Posted by "icodening (via GitHub)" <gi...@apache.org>.
icodening commented on issue #12175:
URL: https://github.com/apache/dubbo/issues/12175#issuecomment-1522630752

   @lispking 
   指定一下proxy类型为stub即可,如下
   ````java
   @DubboReference(proxy = CommonConstants.NATIVE_STUB)
   public Greeter demoService;
   ````


-- 
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: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] AlbumenJ commented on issue #12175: Dubbo 3.2.0 Reactor模式运行报错

Posted by "AlbumenJ (via GitHub)" <gi...@apache.org>.
AlbumenJ commented on issue #12175:
URL: https://github.com/apache/dubbo/issues/12175#issuecomment-1521211199

   @EarthChen PTAL


-- 
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: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] mushuijingjing commented on issue #12175: Dubbo 3.2.0 Reactor模式运行报错

Posted by "mushuijingjing (via GitHub)" <gi...@apache.org>.
mushuijingjing commented on issue #12175:
URL: https://github.com/apache/dubbo/issues/12175#issuecomment-1727329182

   性能会有提升吗,比如吞吐量、响应时间


-- 
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: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org