apache / dubbo-samples

samples for Apache Dubbo
Apache License 2.0
2.22k stars 1.9k forks source link

dubbo-samples-kubernetes-apiserver 不可用 #346

Open shenhuaxx opened 3 years ago

shenhuaxx commented 3 years ago
  1. oauthToken超长,触发ConfigValidationUtils.checkProperty检查,最长200。
    
    Exception in thread "main" java.lang.IllegalStateException: Invalid oauthToken="xxx" is longer than 200
    at org.apache.dubbo.config.utils.ConfigValidationUtils.checkProperty(ConfigValidationUtils.java:691)
    at org.apache.dubbo.config.utils.ConfigValidationUtils.checkNameHasSymbol(ConfigValidationUtils.java:650)
    at org.apache.dubbo.config.utils.ConfigValidationUtils.checkParameterName(ConfigValidationUtils.java:681)
    at org.apache.dubbo.config.utils.ConfigValidationUtils.validateRegistryConfig(ConfigValidationUtils.java:558)
    at org.apache.dubbo.config.bootstrap.DubboBootstrap.validateConfig(DubboBootstrap.java:655)
    at org.apache.dubbo.config.bootstrap.DubboBootstrap.checkDefaultAndValidateConfigs(DubboBootstrap.java:628)
    at org.apache.dubbo.config.bootstrap.DubboBootstrap.checkGlobalConfigs(DubboBootstrap.java:583)
    at org.apache.dubbo.config.bootstrap.DubboBootstrap.initialize(DubboBootstrap.java:556)
    at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:1085)
    at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:70)
    at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:63)
    at com.alibaba.spring.context.OnceApplicationContextEventListener.onApplicationEvent(OnceApplicationContextEventListener.java:52)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393)
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347)
    at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:883)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
    at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:84)
    at org.apache.dubbo.samples.ProviderBootstrap.main(ProviderBootstrap.java:32)
2. 手动编译dubbo版本跳过ConfigValidationUtils.checkProperty检查,部署至kubernetes后,provider可以正常启动,并向pod写入"io.dubbo/metadata"相关Annotations。但是consumer启动报错,无法找到对应provider。

[16/07/21 09:03:43:043 UTC] main INFO config.ReferenceConfig: [DUBBO] Referred dubbo service org.apache.dubbo.samples.api.GreetingService, dubbo version: 1.0-SNAPSHOT, current host: 10.233.105.81 Exception in thread "main" java.lang.IllegalStateException: Failed to check the status of the service org.apache.dubbo.samples.api.GreetingService. No provider available for the service org.apache.dubbo.samples.api.GreetingService:1.0.0 from the url dubbo://10.233.105.81/org.apache.dubbo.samples.api.GreetingService?application=kubernetes-dns-demo-consumer&dubbo=2.0.2&interface=org.apache.dubbo.samples.api.GreetingService&metadata-service-port=20885&methods=sayHello&pid=1&qos.accept.foreign.ip=true&qos.enable=true&register.ip=10.233.105.81&release=1.0-SNAPSHOT&revision=1.0-SNAPSHOT&side=consumer&sticky=false&subscribed-services=kubernetes-dns-demo-provider&timeout=3000&timestamp=1626426223177&version=1.0.0 to the consumer 10.233.105.81 use dubbo version 1.0-SNAPSHOT at org.apache.dubbo.config.ReferenceConfig.checkInvokerAvailable(ReferenceConfig.java:463) at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:338) at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:205) at org.apache.dubbo.config.utils.ReferenceConfigCache.lambda$get$3(ReferenceConfigCache.java:114) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)

shenhuaxx commented 3 years ago

第二个问题已确认,是因为k8s service name与GreetingServiceConsumer中@DubboReference的services配置不一致导致。