Giter VIP home page Giter VIP logo

aeraki's People

Contributors

asa3311 avatar chong19951021 avatar clarechu avatar cocotyty avatar dependabot[bot] avatar dragonly avatar enjoyliu avatar fossabot avatar hellomyboy avatar huanghuangzym avatar izumi-zu avatar mark8s avatar mergify[bot] avatar nevermosby avatar panniyuyu avatar pauloconnor avatar pinxiong avatar sad-polar-bear avatar scaat avatar shencurl521 avatar smwyzi avatar tanjunchen avatar wen73 avatar whitefirer avatar woluohenga avatar wsd0543 avatar xunzhuo avatar zhaohuabing avatar zhaoli2333 avatar zhongfox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aeraki's Issues

We need multicluster support

Is your feature request related to a problem? Please describe.
We are now using multi-cluster, but found that the custom protocol configuration MetaRouter on another cluster does not take effect

Describe the solution you'd like
support multicluster

Describe alternatives you've considered
Multi-cluster is a very common scenario

web 站点consumer 无**询

同一个provider,web 站点的consumer无**询,如果是jar包调用可以。刚刚入门,还请大神指点迷经。

Create the generated EnvoyFilters as CRD resources in the K8s APIServer

Is your feature request related to a problem? Please describe.
We can't see the created Envoyfilters by using kubectl command-line tool.
It's because Aeraki is a standalone MCP config server, which isn't visible in the K8s APIServer. This makes it hard to figure out which EnvoyFilters are generated and causing problems for debugging.

Describe the solution you'd like
As an alternative approach, we can create the generated EnvoyFilters as CRD resources in the K8s APIServer.

Describe alternatives you've considered
We can also get all the config in Istiod with the following command, including the EnvoyFilters generated by Aeraki.
kubectl exec istiod-7b7d8974f6-htbjf -n istio-system -- curl http://127.0.0.1:15014/debug/configz

【lazyxds】svc注解优先级是否应当高于namespace注解

if svc.NSLazy == NSLazyStatusDisabled {
spec.LazyEnabled = false
} else if svc.NSLazy == NSLazyStatusEnabled {
spec.LazyEnabled = true
}
spec.LazyEnabled = spec.LazyEnabled || cs.LazyEnabled

不知道是不是理解的不对,我的理解是svc中的注解应该覆盖namespace中的注解,

此处如果使用'||' 的关系,则只要两者有一个为true,那么这个svc就会生效lazyxds

Query: How to handle database secure connection with Aeraki

Aeraki project is amazing, one impressing scenario is that "Manage authentication for other system, like databases". I would like to know how Aeraki handle database secure connection, like mySQL SSL connection, especially when the database certificate is issued by third party. Is there any example or guide?

Support Custom Protocol

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

我们目前想要使用Aeraki来给Grpc实现类似Dubbo的路由功能,但看了一下Aeraki协议定义的代码,在解析的时候,只能解析成枚举,不能解析成任意的字符串

https://github.com/aeraki-framework/aeraki/blob/a2686631e9b0659b9d78322735d6517d9ebd2751/pkg/model/protocol/instance.go#L24-L67

这导致对Aeraki协议扩展的时候会变得很麻烦,只能把某种实现给覆盖掉。如果将来有一天又要用到这种协议,就会很麻烦。

是否可以考虑放开AerakiArgs#Protocols的配置,这样只要在main中自己注册特定的插件就可以比较方便的扩展Aeraki的协议。几乎不会动到aeraki的源码就能进行扩展。

解析的时候如果不存在不要返回 Unsupported,而是直接返回这个字符串

https://github.com/aeraki-framework/aeraki/blob/a2686631e9b0659b9d78322735d6517d9ebd2751/cmd/aeraki/main.go#L76-L83

还有看了一下meta-protocol-proxy方案,好像也能做,但是对于Envoy已经支持的协议,好像要做用C++重写,感觉有点复杂了

Kafka Helm repo link dead, causing demo setup to fail

Describe the bug
When attempting to run the demo app, the bash script fails in demo/kafka/insall.sh when running the line
helm repo add zhaohuabing http://zhaohuabing.com/helm-repo/

To Reproduce
Steps to reproduce the behavior:

  1. make demo

Expected behavior
The full demo application suite is successfully installed.

Additional context
Logs of error

service/rate-limit-server created
namespace/kafka created
namespace/kafka labeled
Error: looks like "http://zhaohuabing.com/helm-repo/" is not a valid chart repository or cannot be reached: failed to fetch http://zhaohuabing.com/helm-repo/index.yaml : 404 Not Found
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "hashicorp" chart repository
...Successfully got an update from the "elastic" chart repository
Update Complete. ⎈Happy Helming!⎈
Error: INSTALLATION FAILED: failed to download "zhaohuabing/kafka"
deployment.apps/kafka-cat-producer created
deployment.apps/kafka-cat-consumer created

[lazyxds] lazyxds create wrong sidecar CRD for service which type is externalName

Describe the bug
For Service with externalName type, currently lazy xds will handle it the same as cluster ip. But externalName service does not have selector field, so it will create Sidecar CRD with empty workload selector. According to istio docs, In the absence of a workloadSelector, it will apply to all workload instances in the same namespace. It is very dangerous.

To Reproduce
Steps to reproduce the behavior:

  1. Create service with externalName type, such as:
apiVersion: v1
kind: Service
metadata:
  name: example
  namespace: default
spec:
  externalName: www.baidu.com
  ports:
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  sessionAffinity: None
  type: ExternalName
  1. Kubectl get sidecar lazyxds-example -o yaml
apiVersion: networking.istio.io/v1beta1
kind: Sidecar
metadata:
  name: lazyxds-example
  namespace: default
spec:
  egress:
  - hosts:
    - istio-system/*
    - ...
  workloadSelector: {}

Expected behavior

I do not have perfect solution, maybe it's not necessary to generate Sidecar CRD for externalName service?

Also, currently there is no way to disable lazy XDS for the specified service, if I annotate azy-xds=true for one namespace.

Need istio-ingress-gateway metaprotocol support

Is your feature request related to a problem? Please describe.
we can't match metarouter with istio-ingress-gateway now

Describe the solution you'd like
istio-gress-gateway support metaprotocol maybe is a good idea

Describe alternatives you've considered
istio-ingress-gateway metaprotocol support

Additional context
istio1.10.3
aeraki1.0

meta-protocol-proxy 是否能够得到pilot-discovery的支持?

meta-protocol-proxy支持第三方私有协议的支持功能很感兴趣,简单阅读了相关代码后有个疑问: "如果我添加了私有协议,aeraki生成了相应的envoyfilter,istio支持应用(apply)该envoyfilter吗?"

似乎aeraki源码上写死了当前只支持dubbo/thrift协议?

因为近期自己也在做私有协议上的扩展,istio在应用envoyfilter前会通过webhook进行校验,对不识别的proxy将直接返回报错: Envoy filter: could not resolve Any message type: xxx_proxy,因此必须要编译envoy之后将相应的pb.go同步到go-control-plane,isltio引用后才能识别, 这样就不得不编译pilot-discovery了。

metaprotocol router match error

Describe the bug
When I use metaprotocol, when the route matching condition is multiple, it is reflected as an OR relationship. When dumping the configuration, it is found that the delivery rules and the configuration rules are inconsistent.

To Reproduce
Steps to reproduce the behavior:
configure rule is:

  routes:
    - name: traffic-spilt
      match:
        attributes:
          method:
            exact: sayHello
          interface:
            exact: org.apache.dubbo.samples.basic.api.DemoService11
      route:
        - destination:
            host: demoservice.mesh.yonghui.cn
            subset: v2

dump config rule is:

      "routes": [
       {
        "name": "traffic-spilt",
        "match": {
         "metadata": [
          {
           "name": "method",
           "exact_match": "sayHello"
          },
          {
           "name": "method",
           "exact_match": "sayHello"
          }
         ]
        },

Expected behavior
The configuration rules are consistent with the delivery rules.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Support deploying Aeraki to TCM managed service mesh

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Aeraki should be able to deploy in TCM manged service mesh.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

request help: dubbo demo can't run

Issue description

When i run the demo of dubbo, It doesn't seem to be running!

The log of dubbo-sample-consumer:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:44)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:596)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:560)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:547)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:472)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:427)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:404)
	at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:104)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:161)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:72)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:75)
	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:318)
	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:258)
	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:158)
	at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:68)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
	... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:169)
	at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:191)
	at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:71)
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:82)
	at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
	at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
	at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
	at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:592)
	... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
	at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:800)
	at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1507)
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1366)
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1300)
	at java.base/java.net.InetAddress.getByName(InetAddress.java:1250)
	at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
	at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
	at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
	at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
	at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
	at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
	at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
	at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
	at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
	at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
	at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
	at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
	at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
	at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:832)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:44)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:596)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:560)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:547)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:472)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:427)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:404)
	at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:104)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:161)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:72)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:75)
	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:318)
	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:258)
	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:158)
	at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:68)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
	... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:169)
	at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:191)
	at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:71)
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:82)
	at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
	at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
	at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
	at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:592)
	... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
	at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:800)
	at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1507)
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1366)
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1300)
	at java.base/java.net.InetAddress.getByName(InetAddress.java:1250)
	at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
	at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
	at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
	at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
	at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
	at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
	at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
	at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
	at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
	at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
	at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
	at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
	at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
	at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:832)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:44)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:596)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:560)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:547)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:472)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:427)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:404)
	at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:104)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:161)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:72)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:75)
	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:318)
	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:258)
	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:158)
	at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:68)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
	... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:169)
	at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:191)
	at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:71)
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:82)
	at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
	at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
	at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
	at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:592)
	... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
	at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:800)
	at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1507)
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1366)
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1300)
	at java.base/java.net.InetAddress.getByName(InetAddress.java:1250)
	at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
	at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
	at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
	at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
	at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
	at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
	at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
	at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
	at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
	at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
	at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
	at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
	at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
	at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:832)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:44)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:596)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:560)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:547)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:472)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:427)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:404)
	at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:104)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:161)
	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:72)
	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:75)
	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:318)
	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:258)
	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:158)
	at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:68)
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
	... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=demo-consumer&check=true&codec=dubbo&heartbeat=60000&init=false&interface=org.apache.dubbo.samples.basic.api.DemoService&pid=1&register.ip=10.100.245.47&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice/<unresolved>:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:169)
	at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:191)
	at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:71)
	at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:82)
	at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
	at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
	at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
	at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:592)
	... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
	at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:800)
	at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1507)
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1366)
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1300)
	at java.base/java.net.InetAddress.getByName(InetAddress.java:1250)
	at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
	at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
	at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
	at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
	at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
	at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
	at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
	at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
	at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
	at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
	at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
	at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
	at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
	at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:832)

The log of aeraki:

2021-04-13T02:17:16.627437Z	info	config-controller	Virtual Service changed: add test-dubbo-route
2021-04-13T02:17:17.127663Z	info	envoyfilter-controller	Push debounce stable[21] 1: 500.126198ms since last change, 500.125937ms since last push
http.Match:  []
dubboRoute.GetMatch():  <nil>
2021-04-13T02:17:17.138722Z	info	envoyfilter-controller	EnvoyFilter: aeraki-inbound-org.apache.dubbo.samples.basic.api.demoservice unchanged
2021-04-13T02:17:17.138788Z	info	envoyfilter-controller	EnvoyFilter: aeraki-inbound-thrift-sample-server.thrift.svc.cluster.local unchanged
2021-04-13T02:17:17.139018Z	info	envoyfilter-controller	Updating EnvoyFilter: {<nil> [apply_to:NETWORK_FILTER match:<listener:<filter_chain:<filter:<name:"envoy.filters.network.tcp_proxy" > > name:"193.193.192.192_20880" > > patch:<operation:REPLACE value:<fields:<key:"name" value:<string_value:"envoy.filters.network.dubbo_proxy" > > fields:<key:"typed_config" value:<struct_value:<fields:<key:"@type" value:<string_value:"type.googleapis.com/envoy.extensions.filters.network.dubbo_proxy.v3.DubboProxy" > > fields:<key:"routeConfig" value:<list_value:<values:<struct_value:<fields:<key:"interface" value:<string_value:"org.apache.dubbo.samples.basic.api.DemoService" > > fields:<key:"name" value:<string_value:"outbound|20880||org.apache.dubbo.samples.basic.api.demoservice" > > fields:<key:"routes" value:<list_value:<values:<struct_value:<fields:<key:"match" value:<struct_value:<fields:<key:"method" value:<struct_value:<fields:<key:"name" value:<struct_value:<fields:<key:"safeRegex" value:<struct_value:<fields:<key:"googleRe2" value:<struct_value:<> > > fields:<key:"regex" value:<string_value:".*" > > > > > > > > > > > > > > fields:<key:"route" value:<struct_value:<fields:<key:"weightedClusters" value:<struct_value:<fields:<key:"clusters" value:<list_value:<values:<struct_value:<fields:<key:"name" value:<string_value:"outbound|20880|v1|org.apache.dubbo.samples.basic.api.demoservice" > > fields:<key:"weight" value:<number_value:20 > > > > values:<struct_value:<fields:<key:"name" value:<string_value:"outbound|20880|v2|org.apache.dubbo.samples.basic.api.demoservice" > > fields:<key:"weight" value:<number_value:80 > > > > > > > fields:<key:"totalWeight" value:<number_value:100 > > > > > > > > > > > > > > > > > > fields:<key:"statPrefix" value:<string_value:"outbound|20880||org.apache.dubbo.samples.basic.api.demoservice" > > > > > > > ] {} [] 0}
2021-04-13T02:17:17.147617Z	info	envoyfilter-controller	EnvoyFilter: aeraki-outbound-thrift-sample-server.thrift.svc.cluster.local unchanged
2021-04-13T02:17:17.312053Z	info	adsc	Received istiod.istio-system:15010 type networking.istio.io/v1alpha3/ServiceEntry cnt=37 nonce=b7LX/pCmHMc=a8f9d571-624e-4666-b130-accdb9c773c6
2021-04-13T02:17:17.312188Z	warn	adsc	Error adding a new resource to the store 2 errors occurred:
	* service entry port 53 already defined
	* unsupported protocol: UnsupportedProtocol


2021-04-13T02:17:17.312238Z	warn	adsc	Error adding a new resource to the store unsupported protocol: UnsupportedProtocol
2021-04-13T02:17:17.312249Z	warn	adsc	Error adding a new resource to the store unsupported protocol: UnsupportedProtocol
2021-04-13T02:17:17.312264Z	warn	adsc	Error adding a new resource to the store 2 errors occurred:
	* unsupported protocol: UnsupportedProtocol
	* unsupported protocol: UnsupportedProtocol

Environment

  • istio version:
    client version: 1.9.1
    control plane version: 1.9.1
    data plane version: 1.9.1 (27 proxies), 65536.65536.65536 (1 proxies)

Dubbo's version compatibility issue

Describe the bug
I try to change the dubbo version of https://github.com/aeraki-framework/dubbo-envoyfilter-example project with 2.7.3,
here comes a problem as below

        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:563)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:550)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:475)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:430)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:407)
        at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:91)
        at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:130)
        at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:71)
        at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:72)
        at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
        at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:396)
        at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:329)
        at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:250)
        at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:73)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
        ... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:166)
        at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:190)
        at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:69)
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:80)
        at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
        at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
        at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
        at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
        at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:595)
        ... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
        at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
        at java.net.InetAddress.getAllByName(InetAddress.java:1193)
        at java.net.InetAddress.getAllByName(InetAddress.java:1127)
        at java.net.InetAddress.getByName(InetAddress.java:1077)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
        at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
        at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
        at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
        at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
        at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
[26/10/21 02:03:17:017 UTC] main  WARN config.AbstractConfig:  [DUBBO] There's no valid metadata config found, if you are using the simplified mode of registry url, please make sure you have a metadata address configured properly., dubbo version: 1.0-SNAPSHOT, current host: 172.31.1.228
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
        at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:46)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:599)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:563)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:550)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:475)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:430)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:407)
        at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:91)
        at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:130)
        at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:71)
        at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:72)
        at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
        at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:396)
        at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:329)
        at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:250)
        at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:73)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
        ... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:166)
        at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:190)
        at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:69)
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:80)
        at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
        at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
        at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
        at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
        at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:595)
        ... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
        at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
        at java.net.InetAddress.getAllByName(InetAddress.java:1193)
        at java.net.InetAddress.getAllByName(InetAddress.java:1127)
        at java.net.InetAddress.getByName(InetAddress.java:1077)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
        at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
        at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
        at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
        at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
        at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
[26/10/21 02:03:22:022 UTC] main  WARN config.AbstractConfig:  [DUBBO] There's no valid metadata config found, if you are using the simplified mode of registry url, please make sure you have a metadata address configured properly., dubbo version: 1.0-SNAPSHOT, current host: 172.31.1.228
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
        at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:46)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:599)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:563)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:550)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:475)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:430)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:407)
        at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:91)
        at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:130)
        at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:71)
        at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:72)
        at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
        at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:396)
        at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:329)
        at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:250)
        at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:73)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
        ... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:166)
        at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:190)
        at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:69)
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:80)
        at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
        at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
        at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
        at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
        at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:595)
        ... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
        at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
        at java.net.InetAddress.getAllByName(InetAddress.java:1193)
        at java.net.InetAddress.getAllByName(InetAddress.java:1127)
        at java.net.InetAddress.getByName(InetAddress.java:1077)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
        at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
        at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
        at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
        at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
        at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
[26/10/21 02:03:27:027 UTC] main  WARN config.AbstractConfig:  [DUBBO] There's no valid metadata config found, if you are using the simplified mode of registry url, please make sure you have a metadata address configured properly., dubbo version: 1.0-SNAPSHOT, current host: 172.31.1.228
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
        at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:46)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:599)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:563)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:550)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:475)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:430)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:407)
        at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:91)
        at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:130)
        at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:71)
        at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:72)
        at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
        at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:396)
        at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:329)
        at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:250)
        at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:73)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
        ... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:166)
        at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:190)
        at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:69)
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:80)
        at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
        at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
        at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
        at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
        at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:595)
        ... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
        at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
        at java.net.InetAddress.getAllByName(InetAddress.java:1193)
        at java.net.InetAddress.getAllByName(InetAddress.java:1127)
        at java.net.InetAddress.getByName(InetAddress.java:1077)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
        at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
        at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
        at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
        at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
        at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
[26/10/21 02:03:32:032 UTC] main  WARN config.AbstractConfig:  [DUBBO] There's no valid metadata config found, if you are using the simplified mode of registry url, please make sure you have a metadata address configured properly., dubbo version: 1.0-SNAPSHOT, current host: 172.31.1.228
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
        at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:46)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:599)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:563)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:550)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:475)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:430)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:407)
        at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:91)
        at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:130)
        at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:71)
        at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:72)
        at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
        at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:396)
        at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:329)
        at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:250)
        at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:73)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
        ... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:166)
        at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:190)
        at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:69)
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:80)
        at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
        at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
        at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
        at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
        at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:595)
        ... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
        at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
        at java.net.InetAddress.getAllByName(InetAddress.java:1193)
        at java.net.InetAddress.getAllByName(InetAddress.java:1127)
        at java.net.InetAddress.getByName(InetAddress.java:1077)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
        at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
        at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
        at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
        at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
        at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
[26/10/21 02:03:37:037 UTC] main  WARN config.AbstractConfig:  [DUBBO] There's no valid metadata config found, if you are using the simplified mode of registry url, please make sure you have a metadata address configured properly., dubbo version: 1.0-SNAPSHOT, current host: 172.31.1.228
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
        at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:46)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:599)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:563)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:550)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:475)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:430)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:407)
        at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:91)
        at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:130)
        at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:71)
        at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:72)
        at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
        at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:396)
        at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:329)
        at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:250)
        at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:73)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
        ... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:166)
        at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:190)
        at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:69)
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:80)
        at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
        at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
        at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
        at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
        at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:595)
        ... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
        at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
        at java.net.InetAddress.getAllByName(InetAddress.java:1193)
        at java.net.InetAddress.getAllByName(InetAddress.java:1127)
        at java.net.InetAddress.getByName(InetAddress.java:1077)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
        at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
        at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
        at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
        at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
        at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
[26/10/21 02:03:42:042 UTC] main  WARN config.AbstractConfig:  [DUBBO] There's no valid metadata config found, if you are using the simplified mode of registry url, please make sure you have a metadata address configured properly., dubbo version: 1.0-SNAPSHOT, current host: 172.31.1.228
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': FactoryBean threw exception on object creation; nested exception is org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:177)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)
        at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:46)
Caused by: org.apache.dubbo.rpc.RpcException: Fail to create remoting client for service(dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000): client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:599)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClient(DubboProtocol.java:563)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.buildReferenceCountExchangeClientList(DubboProtocol.java:550)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getSharedClient(DubboProtocol.java:475)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getClients(DubboProtocol.java:430)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.protocolBindingRefer(DubboProtocol.java:407)
        at org.apache.dubbo.rpc.protocol.AbstractProtocol.refer(AbstractProtocol.java:91)
        at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:130)
        at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:71)
        at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:72)
        at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java)
        at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:396)
        at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:329)
        at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:250)
        at org.apache.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:73)
        at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:170)
        ... 6 more
Caused by: org.apache.dubbo.remoting.RemotingException: client(url: dubbo://org.apache.dubbo.samples.basic.api.demoservice:20880/org.apache.dubbo.samples.basic.api.DemoService?application=dubbo-sample-consumer&check=true&codec=dubbo&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&pid=6&register.ip=172.31.1.228&remote.application=&revision=1.0-SNAPSHOT&side=consumer&sticky=false&timeout=3000) failed to connect to server org.apache.dubbo.samples.basic.api.demoservice:20880, error message is:org.apache.dubbo.samples.basic.api.demoservice
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:166)
        at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:190)
        at org.apache.dubbo.remoting.transport.AbstractClient.<init>(AbstractClient.java:69)
        at org.apache.dubbo.remoting.transport.netty4.NettyClient.<init>(NettyClient.java:80)
        at org.apache.dubbo.remoting.transport.netty4.NettyTransporter.connect(NettyTransporter.java:40)
        at org.apache.dubbo.remoting.Transporter$Adaptive.connect(Transporter$Adaptive.java)
        at org.apache.dubbo.remoting.Transporters.connect(Transporters.java:75)
        at org.apache.dubbo.remoting.exchange.support.header.HeaderExchanger.connect(HeaderExchanger.java:39)
        at org.apache.dubbo.remoting.exchange.Exchangers.connect(Exchangers.java:109)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.initClient(DubboProtocol.java:595)
        ... 21 more
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
        at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
        at java.net.InetAddress.getAllByName(InetAddress.java:1193)
        at java.net.InetAddress.getAllByName(InetAddress.java:1127)
        at java.net.InetAddress.getByName(InetAddress.java:1077)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:146)
        at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
        at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:143)
        at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:43)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:63)
        at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:55)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:57)
        at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:32)
        at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:108)
        at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:208)
        at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103)
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
        at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)

Here is the sidecar proxy log for consumer

2021-10-25T13:16:44.128803Z     info    FLAG: --concurrency="2"
2021-10-25T13:16:44.128852Z     info    FLAG: --domain="default.svc.cluster.local"
2021-10-25T13:16:44.128870Z     info    FLAG: --help="false"
2021-10-25T13:16:44.128875Z     info    FLAG: --log_as_json="false"
2021-10-25T13:16:44.128882Z     info    FLAG: --log_caller=""
2021-10-25T13:16:44.128886Z     info    FLAG: --log_output_level="default:debug"
2021-10-25T13:16:44.128890Z     info    FLAG: --log_rotate=""
2021-10-25T13:16:44.128894Z     info    FLAG: --log_rotate_max_age="30"
2021-10-25T13:16:44.128899Z     info    FLAG: --log_rotate_max_backups="1000"
2021-10-25T13:16:44.128904Z     info    FLAG: --log_rotate_max_size="104857600"
2021-10-25T13:16:44.128908Z     info    FLAG: --log_stacktrace_level="default:none"
2021-10-25T13:16:44.128918Z     info    FLAG: --log_target="[stdout]"
2021-10-25T13:16:44.128924Z     info    FLAG: --meshConfig="./etc/istio/config/mesh"
2021-10-25T13:16:44.128928Z     info    FLAG: --outlierLogPath=""
2021-10-25T13:16:44.128933Z     info    FLAG: --proxyComponentLogLevel="misc:error"
2021-10-25T13:16:44.128937Z     info    FLAG: --proxyLogLevel="warning"
2021-10-25T13:16:44.128943Z     info    FLAG: --serviceCluster="dubbo-sample-consumer.default"
2021-10-25T13:16:44.128948Z     info    FLAG: --stsPort="0"
2021-10-25T13:16:44.128952Z     info    FLAG: --templateFile=""
2021-10-25T13:16:44.128970Z     info    FLAG: --tokenManagerPlugin="GoogleTokenExchange"
2021-10-25T13:16:44.128978Z     info    Version 1.10.0-d26cba7e341587453ffeb978f5cf6fbc32f346f8-Clean
2021-10-25T13:16:44.129120Z     info    Proxy role      ips=[172.31.1.228] type=sidecar id=dubbo-sample-consumer-546bdbd967-dvtkf.default domain=default.svc.cluster.local
2021-10-25T13:16:44.129209Z     info    Apply proxy config from env {"proxyMetadata":{"ISTIO_META_DNS_CAPTURE":"true"},"proxyStatsMatcher":{"inclusionPrefixes":["thrift","dubbo","kafka","meta_protocol"],"inclusionRegexps":[".*dubbo.*",".*thrift.*",".*kafka.*",".*zookeeper.*",".*meta_protocol.*"]}}
2021-10-25T13:16:44.130783Z     info    Effective config: binaryPath: /usr/local/bin/envoy
concurrency: 2
configPath: ./etc/istio/proxy
controlPlaneAuthPolicy: MUTUAL_TLS
discoveryAddress: istiod.istio-system.svc:15012
drainDuration: 45s
parentShutdownDuration: 60s
proxyAdminPort: 15000
proxyMetadata:
  ISTIO_META_DNS_CAPTURE: "true"
proxyStatsMatcher:
  inclusionPrefixes:
  - thrift
  - dubbo
  - kafka
  - meta_protocol
  inclusionRegexps:
  - .*dubbo.*
  - .*thrift.*
  - .*kafka.*
  - .*zookeeper.*
  - .*meta_protocol.*
serviceCluster: dubbo-sample-consumer.default
statNameLength: 189
statusPort: 15020
terminationDrainDuration: 5s
tracing:
  zipkin:
    address: zipkin.istio-system:9411
2021-10-25T13:16:44.130803Z     info    JWT policy is first-party-jwt
2021-10-25T13:16:44.130816Z     info    Pilot SAN: [istiod.istio-system.svc]
2021-10-25T13:16:44.130824Z     info    CA Endpoint istiod.istio-system.svc:15012, provider Citadel
2021-10-25T13:16:44.130867Z     info    Using CA istiod.istio-system.svc:15012 cert with certs: var/run/secrets/istio/root-cert.pem
2021-10-25T13:16:44.131033Z     info    citadelclient   Citadel client using custom root cert: istiod.istio-system.svc:15012
2021-10-25T13:16:44.173111Z     info    ads     All caches have been synced up in 47.871864ms, marking server ready
2021-10-25T13:16:44.173422Z     info    sds     SDS server for workload certificates started, listening on "./etc/istio/proxy/SDS"
2021-10-25T13:16:44.173676Z     info    xdsproxy        Initializing with upstream address "istiod.istio-system.svc:15012" and cluster "Kubernetes"
2021-10-25T13:16:44.178546Z     info    sds     Start SDS grpc server
2021-10-25T13:16:44.178596Z     info    dns     Starting local udp DNS server at localhost:15053
2021-10-25T13:16:44.178649Z     info    dns     Starting local tcp DNS server at localhost:15053
2021-10-25T13:16:44.178952Z     info    Opening status port 15020
2021-10-25T13:16:44.192845Z     info    Starting proxy agent
2021-10-25T13:16:44.192872Z     info    Epoch 0 starting
2021-10-25T13:16:44.194993Z     info    Envoy command: [-c etc/istio/proxy/envoy-rev0.json --restart-epoch 0 --drain-time-s 45 --drain-strategy immediate --parent-shutdown-time-s 60 --service-cluster dubbo-sample-consumer.default --service-node sidecar~172.31.1.228~dubbo-sample-consumer-546bdbd967-dvtkf.default~default.svc.cluster.local --local-address-ip-version v4 --bootstrap-version 3 --disable-hot-restart --log-format %Y-%m-%dT%T.%fZ %l      envoy %n        %v -l warning --component-log-level misc:error --concurrency 2]
2021-10-25T13:16:44.378634Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T13:16:44.409755Z     info    cache   generated new workload certificate      latency=235.722354ms ttl=23h59m59.590257827s
2021-10-25T13:16:44.409781Z     info    cache   Root cert has changed, start rotating root cert
2021-10-25T13:16:44.409800Z     info    ads     XDS: Incremental Pushing:0 ConnectedEndpoints:0 Version:
2021-10-25T13:16:44.409867Z     info    cache   returned workload trust anchor from cache       ttl=23h59m59.590162069s
2021-10-25T13:16:44.634853Z     info    ads     ADS: new connection for node:sidecar~172.31.1.228~dubbo-sample-consumer-546bdbd967-dvtkf.default~default.svc.cluster.local-2
2021-10-25T13:16:44.635561Z     info    cache   returned workload certificate from cache        ttl=23h59m59.364449568s
2021-10-25T13:16:44.635746Z     info    ads     ADS: new connection for node:sidecar~172.31.1.228~dubbo-sample-consumer-546bdbd967-dvtkf.default~default.svc.cluster.local-1
2021-10-25T13:16:44.635827Z     info    cache   returned workload trust anchor from cache       ttl=23h59m59.364179736s
2021-10-25T13:16:44.636022Z     info    sds     SDS: PUSH       resource=default
2021-10-25T13:16:44.636228Z     info    sds     SDS: PUSH       resource=ROOTCA
2021-10-25T13:16:46.217101Z     info    Initialization took 2.091142707s
2021-10-25T13:16:46.217123Z     info    Envoy proxy is ready
2021-10-25T13:45:12.048014Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T13:45:12.319150Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T14:17:37.457616Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T14:17:37.808812Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T14:48:20.018883Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T14:48:20.076663Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T15:19:16.529922Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T15:19:16.858830Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T15:48:59.278021Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T15:48:59.452125Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T16:19:14.243973Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T16:19:14.717858Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T16:50:31.638202Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T16:50:32.072491Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T17:20:08.671991Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T17:20:08.992725Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T17:51:33.797377Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T17:51:34.225783Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T18:20:29.203568Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T18:20:29.259413Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T18:50:16.234479Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T18:50:16.626110Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T19:18:43.270318Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T19:18:43.416386Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T19:51:48.088941Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T19:51:48.556101Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T20:19:41.866652Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T20:19:42.235372Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T20:52:47.668762Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T20:52:47.860229Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T21:24:10.339551Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T21:24:10.778167Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T21:55:15.829008Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T21:55:16.269973Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T22:27:43.426120Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T22:27:43.512205Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T22:56:38.603641Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T22:56:38.845629Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T23:24:14.066128Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T23:24:14.336086Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-25T23:53:56.227111Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-25T23:53:56.555036Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-26T00:22:29.457267Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-26T00:22:29.933766Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-26T00:51:53.816655Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-26T00:51:54.160072Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-26T01:16:44.205322Z     info    ads     XDS: Incremental Pushing:0 ConnectedEndpoints:2 Version:
2021-10-26T01:16:44.300235Z     info    cache   generated new workload certificate      latency=94.738991ms ttl=23h59m59.699774114s
2021-10-26T01:16:44.300287Z     info    sds     SDS: PUSH       resource=default
2021-10-26T01:20:13.702604Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-26T01:20:13.859530Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012
2021-10-26T01:53:02.226547Z     warning envoy config    StreamAggregatedResources gRPC config stream closed: 14, transport is closing
2021-10-26T01:53:02.588581Z     info    xdsproxy        connected to upstream XDS server: istiod.istio-system.svc:15012

To Reproduce
Steps to reproduce the behavior:

  1. deploy istio with aereki
  2. use below yaml to deploy 2.7.3 version dubbo example
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dubbo-sample-provider-v1
  labels:
    app: dubbo-sample-provider
spec:
  selector:
    matchLabels:
      app: dubbo-sample-provider
  replicas: 1
  template:
    metadata:
      labels:
        app: dubbo-sample-provider
        version: v1
    spec:
      containers:
        - name: dubbo-sample-provider
          image: marcozheng/dubbo-sample-provider
          ports:
            - containerPort: 20880
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dubbo-sample-provider-v2
  labels:
    app: dubbo-sample-provider
spec:
  selector:
    matchLabels:
      app: dubbo-sample-provider
  replicas: 1
  template:
    metadata:
      labels:
        app: dubbo-sample-provider
        version: v2
    spec:
      containers:
        - name: dubbo-sample-provider
          image: marcozheng/dubbo-sample-provider
          ports:
            - containerPort: 20880
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dubbo-sample-consumer
  labels:
    app: dubbo-sample-consumer
spec:
  selector:
    matchLabels:
      app: dubbo-sample-consumer
  replicas: 1
  template:
    metadata:
      labels:
        app: dubbo-sample-consumer
    spec:
      containers:
        - name: dubbo-sample-consumer
          image: marcozheng/dubbo-sample-consumer
          env:
            - name: mode
              value: demo
          ports:
            - containerPort: 9009

---

Expected behavior
consumer can successfully invoke the provider

virtualservice不包含Host导致aeraki启动报错

virtualservice不包含Host导致aeraki启动报错.

错误日志:

2021-08-26T10:56:25.517356Z	warn	adsc	Error adding a new resource to the store unsupported protocol: UnsupportedProtocol
2021-08-26T10:56:25.517377Z	warn	adsc	Error adding a new resource to the store unsupported protocol: UnsupportedProtocol
2021-08-26T10:56:25.517715Z	warn	adsc	Error adding a new resource to the store unsupported protocol: UnsupportedProtocol
2021-08-26T10:56:25.517859Z	warn	adsc	Error adding a new resource to the store unsupported protocol: UnsupportedProtocol
2021-08-26T10:56:25.518216Z	info	adsc	Received istiod.istio-system:15010 type networking.istio.io/v1alpha3/VirtualService cnt=38 nonce=jGOLoHtt52Q=cbfc5162-7ce9-41c7-b3c5-8cb8b1215624
2021-08-26T10:56:25.520846Z	info	adsc	Received istiod.istio-system:15010 type networking.istio.io/v1alpha3/DestinationRule cnt=2 nonce=jGOLoHtt52Q=d94fd481-b08a-46e0-bf94-616cb2f2b637
2021-08-26T10:56:25.521084Z	info	adsc	Received istiod.istio-system:15010 type networking.istio.io/v1alpha3/EnvoyFilter cnt=8 nonce=jGOLoHtt52Q=b91d93ea-452f-4444-a1bd-ab43554f2abb
2021-08-26T10:56:25.526206Z	info	config-controller	Virtual Service changed: add delegate-vs-iks-demo-app-prod-qsm-qiyi-middle
2021-08-26T10:56:25.527579Z	info	config-controller	Virtual Service changed: add helloworld-go-ingress
2021-08-26T10:56:25.530410Z	info	config-controller	Virtual Service changed: add vs-iks-test-app-prod
panic: runtime error: index out of range [0] with length 0
goroutine 355 [running]:
github.com/aeraki-framework/aeraki/pkg/config.(*Controller).RegisterEventHandler.func1(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
   /Users/huabingzhao/workspace/aeraki/pkg/config/controller.go:143 +0xd79
istio.io/istio/pilot/pkg/config/memory.(*configstoreMonitor).applyHandlers(0xc000ae7e30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
   /Users/huabingzhao/go/pkg/mod/istio.io/[email protected]/pilot/pkg/config/memory/monitor.go:118 +0x128
istio.io/istio/pilot/pkg/config/memory.(*configstoreMonitor).processConfigEvent(0xc000ae7e30, 0xc001230f90, 0x13, 0xc001230fa4, 0x8, 0xc001230fad, 0xe, 0x0, 0x0, 0xc000c6d42c, ...)
   /Users/huabingzhao/go/pkg/mod/istio.io/[email protected]/pilot/pkg/config/memory/monitor.go:109 +0x105
istio.io/istio/pilot/pkg/config/memory.(*configstoreMonitor).Run(0xc000ae7e30, 0xc0000c46c0)
   /Users/huabingzhao/go/pkg/mod/istio.io/[email protected]/pilot/pkg/config/memory/monitor.go:98 +0x199
istio.io/istio/pilot/pkg/config/memory.(*controller).Run(0xc000b46540, 0xc0000c46c0)
   /Users/huabingzhao/go/pkg/mod/istio.io/[email protected]/pilot/pkg/config/memory/controller.go:63 +0x3d
github.com/aeraki-framework/aeraki/pkg/config.(*Controller).Run.func1(0xc000ae7e60, 0xc0000c46c0)
   /Users/huabingzhao/workspace/aeraki/pkg/config/controller.go:84 +0x42c
created by github.com/aeraki-framework/aeraki/pkg/config.(*Controller).Run
   /Users/huabingzhao/workspace/aeraki/pkg/config/controller.go:64 +0x49

关于懒加载对于ServiceEntry的处理

目前代码里面看到对于ServiceEntry是全量下发给所有的Sidecar,这个是出于什么考虑呢?我们公司目前的做法是以ServiceEntry为主,Service几乎没有,这种场景下面,我们相当于还是全量下发配置了,后续是否会考虑增加针对ServiceEntry的懒加载

image

image

lazyXDS: why need create envoyfilter for every service and file size is too large

Is your feature request related to a problem? Please describe.

Every service will be created a EnvoyFilter resource, the EnvoyFilter contains all the services needing redirect to global sidecar and file is too large if have many services.

Rules are configured for each service, is there a performance problem(in match stage OR xds merge stage)?

I know the EnvoyFilter will add header lazyxds-service-address before forwarding the service and egress will route according to this header. Why not let egress cache all the configurations to avoid this route?

I'm not an expert in istio, maybe I don't think carefully in many places, thank you for answering my questions.

使用测试样例时,aeraki 创建的 inbound envoyfilter 导致consumer访问provider失败

Describe the bug
使用测试样例时,aeraki 创建的 inbound envoyfilter 导致consumer访问provider失败

To Reproduce
1.部署 aeraki
2.部署 dubbo 示例服务
3.部署 serviceentry

Expected behavior
打开 consumer 的日志,可以看到请求成功日志,现在看到的请求失败,consumer 报错
Caused by: org.apache.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer. start time: 2021-07-08 06:19:26.715, end time: 2021-07-08 06:19:31.734, client elapsed: 0 ms, server elapsed: 5019 ms, timeout: 5000 ms, request: Request [id=508, version=2.0.2, twoway=true, event=false, broken=false, data=null], channel: /10.244.104.28:35246 -> org.apache.dubbo.samples.basic.api.demoservice/240.240.0.1:20880
查看 istio-proxy 的日志
2021-07-08T06:19:36.736002Z warning envoy dubbo dubbo: it's empty data
2021-07-08T06:19:36.736417Z error envoy dubbo dubbo response status: 60
2021-07-08T06:19:36.736461Z error envoy dubbo [C270] dubbo response: exception (dubbo response: request ID is not equal, 509:18446744073709551615)

这个应该怎么处理呢?

Run locally aeraki error is reported

Describe the bug

2021-07-30T03:58:00.391833Z     fatal   Failed to start Aeraki :failed to get Istio kube config store : failed to get Istio config store secret: secrets "istio-system" not found

see

https://github.com/aeraki-framework/aeraki/blob/master/cmd/aeraki/main.go#L45

Create bootstrap configmap automatically or other global ways

Is your feature request related to a problem? Please describe.
The istio-proxy sidecar luanch with a configmap, it's too inconvenient.

Describe the solution you'd like
Maybe we should create it automatically or other global ways.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Use Dubbo's metadata to match routes

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Per we used dubbo for rpc calls, and expect to build gray deploy, and we may use different indicators for gray routing, such as version/userId ... now we can only add a spring starter to resolve this problem per Istio does not support TCP calls friendly

Describe the solution you'd like
A clear and concise description of what you want to happen.
If there any method to route by dubbo metadata(such as provider's version is 1.0.0, the consumer is also 1.0.0, it can select the 1.0.0 provider)

dubbo2istio-master/demo/k8s/zk/ 样例问题

istio 的版本 1.10.0

aeraki 的日志
kubectl logs -f -n istio-system aeraki-6558dcc746-95tk9
...
fa82-4027-b951-835e7135b35b
2021-08-03T05:33:07.173760Z warn adsc Error adding a new resource to the store 2 errors occurred:
* service entry port 53 already defined
* unsupported protocol: UnsupportedProtocol
...

dubbo-sample-consumer 的日志
kubectl logs -f -n dubbo dubbo-sample-consumer-5778c77995-l7dr9 -c dubbo-sample-consumer
...
Caused by: java.net.UnknownHostException: org.apache.dubbo.samples.basic.api.demoservice
at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at java.net.InetAddress.getByName(InetAddress.java:1077)
at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:156)
at io.netty.util.internal.SocketUtils$8.run(SocketUtils.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at io.netty.util.internal.SocketUtils.addressByName(SocketUtils.java:153)
at io.netty.resolver.DefaultNameResolver.doResolve(DefaultNameResolver.java:41)
at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:61)
at io.netty.resolver.SimpleNameResolver.resolve(SimpleNameResolver.java:53)
at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:55)
at io.netty.resolver.InetSocketAddressResolver.doResolve(InetSocketAddressResolver.java:31)
at io.netty.resolver.AbstractAddressResolver.resolve(AbstractAddressResolver.java:106)
at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:206)
at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:46)
at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:180)
at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:166)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:604)
at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104)
at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:984)
at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:504)

我看了 issue,说要 pilot-agent dns capture,我看了我本地的文件和这个文件 https://github.com/aeraki-framework/aeraki/blob/master/test/e2e/common/istio-config.yaml 是一样的

Aeraki Control Plane for MetaProtocol Proxy

  • Create EnvoyFilter for MetaProtocol services to replace the default TCP proxy with a metaprotocol proxy
  • Implement RDS server for MetaProtocolPxoy
  • Create a new CRD to define application Protocol built on top of metaprotocol
  • Create a new CRD for metaprotocol route configuration

provider存在多个version/group时,consumer会访问到version/group不匹配的provider实例而报错

dubbo服务端通过@service注解配置2个版本1.0.0 和2.0.0,打包为不同版本的镜像运行,同时注册到zk

@Service(version = "1.0.0", group = "dev")
public class DemoServiceImpl implements DemoService {}

@Service(version = "2.0.0", group = "dev")
public class DemoServiceImpl implements DemoService {}

运行dubbo2istio,将provider同步到k8s集群生成相应的serviceentry。

通过@reference注解配置dubbo consumer的version

@Reference(version = "1.0.0", group = "dev" ,url = "dubbo://com.test.dubbo.sentinel.example.demoservice:20880" )
private DemoService demoService;

启动consumer后一半流量被分配到2.0.0版本的provider实例,但dubbo sdk对version/group有校验,于是报错:

org.apache.dubbo.remoting.RemotingException: Not found exported service: dev/com.test.dubbo.sentinel.example.DemoService:1.0.0:20880 in [dev/com.test.dubbo.sentinel.example.DemoService:2.0.0:20880], may be version or group mismatch , channel: consumer: /127.0.0.1:60798 --> provider: /127.0.0.1:20880, message:RpcInvocation [methodName=sayHello, parameterTypes=[class java.lang.String], arguments=null, attachments={path=com.test.dubbo.sentinel.example.DemoService, remote.application=sentinel-demo-consumer, dubboApplication=sentinel-demo-consumer, dubbo=2.0.2, sdk=0.7.0, interface=com.test.dubbo.sentinel.example.DemoService, version=1.0.0, group=test}]
	at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol.getInvoker(DubboProtocol.java:266) ~[dubbo-2.7.4.1.jar!/:2.7.4.1]
	at org.apache.dubbo.rpc.protocol.dubbo.CallbackServiceCodec.decodeInvocationArgument(CallbackServiceCodec.java:280) ~[dubbo-2.7.4.1.jar!/:2.7.4.1]
	at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:137) [dubbo-2.7.4.1.jar!/:2.7.4.1]
	at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:73) [dubbo-2.7.4.1.jar!/:2.7.4.1]

此行为和dubbo原生的行为不一致,原生dubbo sdk会在consumer端对provider进行过滤,确保流量不会发送给verison/group不匹配的provider。

lazyXDS: App's virtualservice route rule hasn't effected while first accessing to it

Describe the bug
App's virtualservice route rule hasn't effected while first accessing to it

To Reproduce
In my bookinfo example, i create a Virtualservice for app of Reviews like below:

Virtualservices:

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: reviews
  namespace: default
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 50
    - destination:
        host: reviews
        subset: v3
      weight: 50

So in an ideal situation, the traffic to Reviews should never route to the v2 version. But it does unexpected traffic to v2 version of Reviews during first accessing to.

Additional context
May useful references:
https://istio.io/latest/docs/ops/common-problems/network-issues/#route-rules-have-no-effect-on-ingress-gateway-requests

lazyxds希望能适配discoverySelector

现在服务使用lazyxds后,生成的Sidecar和Envoyfilter会包含网格内所有的service,没有过滤被discoverySelector排除的service,在集群中有大量非网格服务时会比较浪费,希望可以支持。

Support message mutation

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Aeraki should be able to allow message mutation in the MetaRouter configuration

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

LazyXDS: support multiple clusters

Currently, LazyXDS only watches the services in the cluster of the controller.

We need support add/delete clusters dynamically,normally watching the cluster related secrets in mater cluster.

add outlier detection ability

Describe the solution you'd like
outlier detection is a key point of service protection, we hope fuse can protect the upstream service when our system in trouble. It can minimize the impact of faults.

缺乏一致性哈希支持

目前的路由方式较少。业务需要在四层协议支持一致性哈希,希望MetaProtocol 能够支持。

Support TLS connection to Istiod

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Aeraki only supports none-tls connection to Istiod, it should be able to connect to Istiod TLS port 15012.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Support service with multiple port

Is your feature request related to a problem? Please describe.
Aeraki generates EnvoyFilete for service with a particular port name, and now it's not working for service with multiple ports.
e.g. service has multiple ports, the second one was reserved for compatibility.

spec:
  clusterIP: 10.134.7.56
  ports:
  - name: tcp-metaprotocol-xxx
    port: 9000
    protocol: TCP
    targetPort: 11206
  - name: tcp
    port: 11206
    protocol: TCP
    targetPort: 11206

Describe the solution you'd like
Except to generate metaprotocol filter for 10.134.7.56_9000.

local ratelimit add metric feature

Describe the solution you'd like
some time,we always hope using this metric as hpa target, because of this metric always earlier than other monitor item

Expose endpoint IP from meta-protocol

Is your feature request related to a problem? Please describe.
We are using meta-protocol to support a private protocol, the problem is, the peer's IP is a part of this protocol. With the service discovery of Kubernetes, the peers cannot get the endpoint IP but the service IP. Theoretically, this is suitable to handle by meta-protocol, since istio-proxy maintain the information of endpoint IP, not just service IP.

Who is using Aeraki Mesh?(谁在使用 Aeraki Mesh?)

Who is using Aeraki Mesh?

Sincerely thank everyone for choosing, contributing, and using Aeraki Mesh. We created this issue to collect the use cases so we can drive the Aeraki community to evolve in the right direction and better serve your real-world scenarios. We encourage you to submit a comment on this issue to include the following information:

company/organization name.
production/project name.
use case(Dubbo, Thrift, Other Protocol, Registry integration, LazyXds, etc.).
phase(evaluation, development, testing, production, etc.).

You can refer to the following sample answer:

Company: XXX
Project:  YYY
Use Case: Dubbo
Phase: (Evaluation, Development, Testing, Production, etc.)

谁在使用 Aeraki?

非常感谢您选择,贡献,使用 Aeraki。我们创建了这个 Issue 来收集使用 Aeraki 的案例,以便于帮助 Aeraki 社区向正确的方向演进,并更好地服务你的真实业务场景。我们鼓励大家在该 Issue 下面添加 Comment,包括下面的信息:

公司/组织的名称
产品/项目的名称
用例(如 Dubbo,Thrift,其他协议,注册表集成,LazyXds等)
阶段(评估、开发、测试、生产等)

可以参考下面的示例:

公司:XXX
项目:YYY
用例:Dubbo
阶段:评估

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.