Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dubbo 3.1.10 metadata error: No such extension org.apache.dubbo.common.serialize.Serialization by name protobuf #12463

Closed
chaoyoung opened this issue Jun 6, 2023 · 6 comments
Labels
status/waiting-for-feedback Need reporters to triage

Comments

@chaoyoung
Copy link
Contributor

chaoyoung commented Jun 6, 2023

Environment

  • Dubbo version: 3.1.10
  • Operating System version: CentOS 7.7
  • Java version: 1.8.0_201
  • Spring Cloud Alibaba: 2021.0.4.0
  • Nacos version: 2.2.0
  • grpc version: 1.54.1
  • protobuf version: 3.21.12

Steps to reproduce this issue

  1. maven pom.xml
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        <exclusions>
            <exclusion>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-client</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        <exclusions>
            <exclusion>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-client</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.alibaba.nacos</groupId>
        <artifactId>nacos-client</artifactId>
        <version>${nacos-client.version}</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-serialization-hessian2</artifactId>
    </dependency>
    <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>netty-codec-http2</artifactId>
                <groupId>io.netty</groupId>
            </exclusion>
            <exclusion>
                <artifactId>netty-handler-proxy</artifactId>
                <groupId>io.netty</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty-shaded</artifactId>
    </dependency>
    <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-protobuf</artifactId>
    </dependency>
    <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-stub</artifactId>
    </dependency>
    <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java-util</artifactId>
    </dependency>
  2. dubbo config
    dubbo:
      application:
        name: xxx
        register-mode: all
        protocol: tri
        enable-empty-protection: false
      scan.base-packages: xxx
      protocols:
        triple:
          name: tri
          port: -1
          serialization: protobuf
        dubbo:
          name: dubbo
          port: -1
          serialization: hessian2
      registry:
        enable-empty-protection: false
        address: nacos://${spring.cloud.nacos.server-addr}?username=${spring.cloud.nacos.username}&password=${spring.cloud.nacos.password}
        use-as-metadata-center: true
        use-as-config-center: true
      provider:
        delay: -1
        timeout: 3000
        retries: 0
      consumer:
        check: false

Expected Behavior

No Error

Actual Behavior

2023-06-06 10:20:39.343 ERROR 1 --- [           main] d.rpc.protocol.tri.call.TripleClientCall:? :  [DUBBO] Serialize triple request failed, service=org.apache.dubbo.metadata.MetadataService method=org.apache.dubbo.rpc.model.ReflectionMethodDescriptor@d40a18e9, dubbo version: 3.1.10, current host: 10.244.6.142, error code: 4-10. This may be caused by , go to https://dubbo.apache.org/faq/4/10 to find instructions.

java.lang.IllegalStateException: No such extension org.apache.dubbo.common.serialize.Serialization by name protobuf, no related exception was found, please check whether related SPI module is missing.
	at org.apache.dubbo.common.extension.ExtensionLoader.findException(ExtensionLoader.java:760)
	at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:767)
	at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:561)
	at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:535)
	at org.apache.dubbo.common.serialize.DefaultMultipleSerialization.serialize(DefaultMultipleSerialization.java:31)
	at org.apache.dubbo.rpc.protocol.tri.ReflectionPackableMethod$WrapRequestPack.pack(ReflectionPackableMethod.java:408)
	at org.apache.dubbo.rpc.model.PackableMethod.packRequest(PackableMethod.java:58)
	at org.apache.dubbo.rpc.protocol.tri.call.TripleClientCall.sendMessage(TripleClientCall.java:159)
	at org.apache.dubbo.rpc.protocol.tri.observer.ClientCallToObserverAdapter.onNext(ClientCallToObserverAdapter.java:44)
	at org.apache.dubbo.rpc.protocol.tri.TripleInvoker.invokeUnary(TripleInvoker.java:221)
	at org.apache.dubbo.rpc.protocol.tri.TripleInvoker.doInvoke(TripleInvoker.java:123)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.doInvokeAndReturn(AbstractInvoker.java:222)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:183)
	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:57)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75)
	at org.apache.dubbo.metadata.MetadataServiceDubboProxy2.getMetadataInfo(MetadataServiceDubboProxy2.java)
	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata(MetadataUtils.java:173)
	at org.apache.dubbo.registry.client.AbstractServiceDiscovery.getRemoteMetadata(AbstractServiceDiscovery.java:223)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$doOnEvent$2(ServiceInstancesChangedListener.java:159)
	at java.util.Optional.orElseGet(Optional.java:267)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:159)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:113)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:317)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:217)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:185)
	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:88)
	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:183)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:127)
	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:573)
	at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65)
	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:437)
	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:245)
	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76)
	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:60)
	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:247)
	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:538)
	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:508)
	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:490)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83)
	at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:107)
	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71)
	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52)
	at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.refer(InvokerCountWrapper.java:48)
	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
	at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:614)
	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:448)
	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300)
	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:232)
	at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:131)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:396)
	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:376)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:167)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139)
	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:113)
	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:102)
	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:47)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
	at com.xxx.Application.main(Application.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)

2023-06-06 10:20:39.344 ERROR 1 --- [           main] d.registry.client.metadata.MetadataUtils:? :  [DUBBO] Failed to get app metadata for revision 2e95e6f13529243828bc36575de007e3 for type local from instance 10.244.4.170:50051, dubbo version: 3.1.10, current host: 10.244.6.142, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions.

org.apache.dubbo.rpc.StatusRpcException: INTERNAL : Serialize request failed
	at org.apache.dubbo.rpc.TriRpcStatus.asException(TriRpcStatus.java:214)
	at org.apache.dubbo.rpc.protocol.tri.call.UnaryClientCallListener.onClose(UnaryClientCallListener.java:47)
	at org.apache.dubbo.rpc.protocol.tri.call.TripleClientCall.sendMessage(TripleClientCall.java:175)
	at org.apache.dubbo.rpc.protocol.tri.observer.ClientCallToObserverAdapter.onNext(ClientCallToObserverAdapter.java:44)
	at org.apache.dubbo.rpc.protocol.tri.TripleInvoker.invokeUnary(TripleInvoker.java:221)
	at org.apache.dubbo.rpc.protocol.tri.TripleInvoker.doInvoke(TripleInvoker.java:123)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.doInvokeAndReturn(AbstractInvoker.java:222)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:183)
	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:57)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75)
	at org.apache.dubbo.metadata.MetadataServiceDubboProxy2.getMetadataInfo(MetadataServiceDubboProxy2.java)
	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata(MetadataUtils.java:173)
	at org.apache.dubbo.registry.client.AbstractServiceDiscovery.getRemoteMetadata(AbstractServiceDiscovery.java:223)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$doOnEvent$2(ServiceInstancesChangedListener.java:159)
	at java.util.Optional.orElseGet(Optional.java:267)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:159)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:113)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:317)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:217)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:185)
	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:88)
	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:183)
	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:127)
	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:573)
	at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65)
	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:437)
	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:245)
	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76)
	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:60)
	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:247)
	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:538)
	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:508)
	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:490)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83)
	at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:107)
	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71)
	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52)
	at org.apache.dubbo.rpc.protocol.InvokerCountWrapper.refer(InvokerCountWrapper.java:48)
	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
	at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:614)
	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:448)
	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300)
	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:232)
	at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:131)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:396)
	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:376)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:167)
	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139)
	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:113)
	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:102)
	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:47)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421)
	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378)
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
	at com.xxx.Application.main(Application.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
Caused by: java.lang.IllegalStateException: No such extension org.apache.dubbo.common.serialize.Serialization by name protobuf, no related exception was found, please check whether related SPI module is missing.
	at org.apache.dubbo.common.extension.ExtensionLoader.findException(ExtensionLoader.java:760)
	at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:767)
	at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:561)
	at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:535)
	at org.apache.dubbo.common.serialize.DefaultMultipleSerialization.serialize(DefaultMultipleSerialization.java:31)
	at org.apache.dubbo.rpc.protocol.tri.ReflectionPackableMethod$WrapRequestPack.pack(ReflectionPackableMethod.java:408)
	at org.apache.dubbo.rpc.model.PackableMethod.packRequest(PackableMethod.java:58)
	at org.apache.dubbo.rpc.protocol.tri.call.TripleClientCall.sendMessage(TripleClientCall.java:159)
	... 72 common frames omitted

2023-06-06 10:20:40.347  INFO 1 --- [           main] org.apache.dubbo.rpc.model.ModuleModel  :202 :  [DUBBO] Dynamically registering consumer model vui-server-dubbo/org.apache.dubbo.metadata.MetadataService:1.0.0 into model Dubbo Module[1.1.0], dubbo version: 3.1.10, current host: 10.244.6.142
2023-06-06 10:20:40.354 ERROR 1 --- [           main] d.rpc.protocol.tri.call.TripleClientCall:? :  [DUBBO] Serialize triple request failed, service=org.apache.dubbo.metadata.MetadataService method=org.apache.dubbo.rpc.model.ReflectionMethodDescriptor@d40a18e9, dubbo version: 3.1.10, current host: 10.244.6.142, error code: 4-10. This may be caused by , go to https://dubbo.apache.org/faq/4/10 to find instructions.
@chaoyoung chaoyoung added the type/bug Bugs to being fixed label Jun 6, 2023
@chaoyoung chaoyoung changed the title metadata error: No such extension org.apache.dubbo.common.serialize.Serialization by name protobuf dubbo 3.1.10 metadata error: No such extension org.apache.dubbo.common.serialize.Serialization by name protobuf Jun 6, 2023
@AlbumenJ
Copy link
Member

AlbumenJ commented Jun 6, 2023

@icodening PTAL

@icodening
Copy link
Contributor

@chaoyoung
目前使用triple时并不需要手动指定protobuf序列化,是否使用protobuf序列化方式是根据方法入参class类型判断的

@237chenhao
Copy link

我也是一样,使用的dubbo3.2.1,官方文档推荐使用fastjson2序列化,目前试过使用protobuf、fastjson2、hession2,只有hession2是可以的,其他都报错

@AlbumenJ
Copy link
Member

我也是一样,使用的dubbo3.2.1,官方文档推荐使用fastjson2序列化,目前试过使用protobuf、fastjson2、hession2,只有hession2是可以的,其他都报错

Could u pls provide a demo?

@CrazyHZM CrazyHZM added status/waiting-for-feedback Need reporters to triage and removed type/bug Bugs to being fixed labels Dec 28, 2023
@duyang416
Copy link

@chaoyoung 目前使用triple时并不需要手动指定protobuf序列化,是否使用protobuf序列化方式是根据方法入参class类型判断的

有没有使用dubbo协议和protobuf序列化的手册或者demo呢?

@wxbty wxbty reopened this Mar 20, 2024
@wxbty
Copy link
Member

wxbty commented Mar 20, 2024

我也是一样,使用的dubbo3.2.1,官方文档推荐使用fastjson2序列化,目前试过使用protobuf、fastjson2、hession2,只有hession2是可以的,其他都报错

测试确实如此,看了下代码,默认没有其他实现。
image

其他序列化协议实现在dubbo-spi-extensions仓库。
image

引入对应依赖解决。

org.apache.dubbo
dubbo-serialization-protobuf
2.7.23

文档待更新:https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/serialization/protobuf/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/waiting-for-feedback Need reporters to triage
Projects
None yet
Development

No branches or pull requests

8 participants
@AlbumenJ @237chenhao @CrazyHZM @chaoyoung @wxbty @duyang416 @icodening and others