You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "liunancun (via GitHub)" <gi...@apache.org> on 2023/03/03 09:56:11 UTC

[GitHub] [dubbo] liunancun opened a new issue, #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   配置
   ```
   dubbo.application.name=demo
   dubbo.scan.basePackages=com.example.demo
   dubbo.registry.address=zookeeper://192.168.99.214:2181
   dubbo.application.qos-enable=false
   dubbo.protocol.port=20880
   dubbo.consumer.check=false
   ```
   
   启动类
   ```
   @SpringBootApplication
   public class DemoApplication {
   
   	public static void main(String[] args) {
   		SpringApplication.run(DemoApplication.class, args);
   	}
   
   }
   ```
   
   过滤器
   ```
   @Activate(group = { CommonConstants.PROVIDER, CommonConstants.CONSUMER })
   public class DemoFilter implements Filter {
   
   	@Override
   	public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
   		System.out.println(RpcContext.getServiceContext().isConsumerSide());
   		return invoker.invoke(invocation);
   	}
   
   }
   ```
   
   服务接口
   ```
   public interface DemoService {
   
   	void test();
   
   }
   ```
   
   服务实现
   ```
   @DubboService
   public class DemoServiceImpl implements DemoService {
   
   	@Override
   	public void test() {
   		System.out.println("test");
   	}
   
   }
   ```
   
   模拟启动调用服务代码
   ```
   @Component
   public class MyCommandLineRunner implements CommandLineRunner {
   
   	@DubboReference
   	private DemoService demoService;
   
   	@Override
   	public void run(String... args) throws Exception {
   		demoService.test();
   	}
   
   }
   ```
   
   异常信息
   ```
   2023-03-03 17:51:45.067 ERROR 13216 --- [           main] o.s.boot.SpringApplication               : Application run failed
   
   java.lang.IllegalStateException: Failed to execute CommandLineRunner
   	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771) [spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:752) [spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) [spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) [spring-boot-2.7.9.jar:2.7.9]
   	at com.example.demo.DemoApplication.main(DemoApplication.java:10) [classes/:na]
   Caused by: java.lang.NullPointerException: null
   	at org.apache.dubbo.rpc.RpcServiceContext.isConsumerSide(RpcServiceContext.java:144) ~[dubbo-3.1.1.jar:3.1.1]
   	at com.example.demo.DemoFilter.invoke(DemoFilter.java:17) ~[classes/:na]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:326) ~[dubbo-3.1.1.jar:3.1.1]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:193) ~[dubbo-3.1.1.jar:3.1.1]
   	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:55) ~[dubbo-3.1.1.jar:3.1.1]
   	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ~[dubbo-3.1.1.jar:3.1.1]
   	at com.example.demo.DemoServiceDubboProxy0.test(DemoServiceDubboProxy0.java) ~[classes/:na]
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_161]
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_161]
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_161]
   	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_161]
   	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.25.jar:5.3.25]
   	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) ~[spring-aop-5.3.25.jar:5.3.25]
   	at com.sun.proxy.$Proxy45.test(Unknown Source) ~[na:na]
   	at com.example.demo.MyCommandLineRunner.run(MyCommandLineRunner.java:15) ~[classes/:na]
   	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:768) [spring-boot-2.7.9.jar:2.7.9]
   	... 5 common frames omitted
   ```
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   【背景】业务应用中会自定义`Filter`,里面会使用`RpcContext.getServiceContext().isConsumerSide()`。
   
   `dubbo-3.2.10`还有出现这个异常,原因是`RpcContext.getServiceContext().getUrl()`返回是null,所以调用`RpcContext.getServiceContext().isConsumerSide()`报NPE。
   
   根因是`context=ContextFilter`没有最先执行,`dubbo-3.2.10.jar`好像不会自动加载这些`Filter`。
   
   <img width="892" alt="image" src="https://github.com/apache/dubbo/assets/1811851/13e2d80b-64ff-463b-b274-26ac9b9f819d">
   
   <img width="1023" alt="image" src="https://github.com/apache/dubbo/assets/1811851/fa6ef112-3a8e-41f1-b437-6d4403621580">
   
   ```java
   @Activate(group = {CommonConstants.PROVIDER, CommonConstants.CONSUMER}, order = -1)
   public class DubboAccessLogFilter implements Filter {
   
       @Trace
       public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
   
           RpcContext rpcContext = RpcContext.getServiceContext();
   
           try {
               // ...
               if (rpcContext.isProviderSide()) {
                   // ...
               } else {
                   // ...
               }
   
           } catch (Throwable e) {
               // ...
           }
           Result result = invoker.invoke(invocation);
           return result;
       }
   
   }
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] AlbumenJ commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   Integration test case: https://github.com/apache/dubbo-samples/pull/786


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   > > > Metadata 这个服务目前是已知的不加载 Filter 的,建议在你们的 Filter 中也排除掉这个服务
   > > 
   > > 
   > > 这个是从哪个版本开始调整的?`dubbo-3.1.1`使用中没出现这个。
   > > 原来如此,这样会有问题。因为业务应用都是通过`dubbo.provider.filter=xxx`统一配置自定义Filter,Filter中会使用`RpcContext.getServiceContext().isConsumerSide()`,而请求getMetadataInfo会走到这些Filter。
   > > 既然Metadata这个服务不加载Filter,为何其服务请求还要走Filter呢,建议两边保持一致语义。
   > 
   > 1. 3.2.4
   > 2. 因为使用的是 `serviceConfig.setFilter("-default")`, 只能保证 Dubbo 内部的 Filter 被排除
   > 3. 如果全部的 Filter 包括用户侧的,如果有的用户期望注入一些自定义的东西就没办法工作了
   
   2. Filter被排除的意义有哪些?影响范围有哪些?我的理解,getMetadataInfo只会在节点动态伸缩时才会触发请求,调用量不大,性能损坏带来的收益比不是很高
   3. 另一种使用场景,业务自定义Filter若依赖系统层面的Filter做的事情,升级后会一大堆出现提供者元数据获取失败,牵一发而动全身。我们现在是通过在自定义Filter运行之前先运行`ContextFilter`解决,`dubbo.provider.filter=context,xxx`。这个是框架层面未向前兼容,是框架层面的事情,还是用户层面?若是用户层面的事情,如何调整自定义Filter代码,绕过context配置。尝试了`RpcContext.getServiceContext().isConsumerSide()`或`RpcContext.getServerAttachment().isConsumerSide()`都报NPE,除非把URL中的provider参数拿出来,`invoker.getUrl().getSide(PROVIDER_SIDE).equals(CONSUMER_SIDE)`,这样判断
   4. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] AlbumenJ commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   @JoyfulAndSpeedyMan 在 https://github.com/apache/dubbo/pull/11769 中已经修复,预计周四 3.1.8 正式 release 后可以使用


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   > Metadata 这个服务目前是已知的不加载 Filter 的,建议在你们的 Filter 中也排除掉这个服务
   
   这个是从哪个版本开始调整的?`dubbo-3.1.1`使用中没出现这个。
   
   原来如此,这样会有问题。因为业务应用都是通过`dubbo.provider.filter=xxx`统一配置自定义Filter,Filter中会使用`RpcContext.getServiceContext().isConsumerSide()`,而请求getMetadataInfo会走到这些Filter。
   
   既然Metadata这个服务不加载Filter,为何其服务请求还要走Filter呢,建议两边保持一致语义。
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] AlbumenJ commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   > @AlbumenJ 这个问题在3.1版本会修复吗
   
   会的


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   > 这样子,业务开发同学会在心里骂人滴,升级风险与成本很高,后续也很难再推进。
   
   之所以不在 3.2 修改也是为了保证 3.2 的稳定,对于 Dubbo 来说不可避免的会持续有 breaking changes,一个 breaking change 即使再小如果允许往最新主干合并那势必导致不存在稳定版本。因此 Dubbo 才区分了 security / stable / beta 三个分支迭代,让所有的 breaking changes 都往 beta 去,stable 小版本有信心升最新,beta 大版本升级时了解具体都有什么需要注意的一次性完成。同时 beta 还会带来更多的 feature(如 3.3 会支持原生 application/json 的 http 支持,统一南北东西向的编程界面)。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   > > Metadata 这个服务目前是已知的不加载 Filter 的,建议在你们的 Filter 中也排除掉这个服务
   > 
   > 这个是从哪个版本开始调整的?`dubbo-3.1.1`使用中没出现这个。
   > 
   > 原来如此,这样会有问题。因为业务应用都是通过`dubbo.provider.filter=xxx`统一配置自定义Filter,Filter中会使用`RpcContext.getServiceContext().isConsumerSide()`,而请求getMetadataInfo会走到这些Filter。
   > 
   > 既然Metadata这个服务不加载Filter,为何其服务请求还要走Filter呢,建议两边保持一致语义。
   
   1. 3.2.4
   2. 因为使用的是 `serviceConfig.setFilter("-default")`, 只能保证 Dubbo 内部的 Filter 被排除
   3. 如果全部的 Filter 包括用户侧的,如果有的用户期望注入一些自定义的东西就没办法工作了


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   > > `dubbo-3.2.10.jar`好像默认不会自动加载系统的这些`Filter`
   > 
   > 这个和设计是不符合的,你是怎么发现的。有没有配置 filter 这个参数
   
   有配置 filter 参数,但参数里定义了自定义的Filter实现,没有设置框架层面实现的Filter。`dubbo-3.1.1`都不会报异常,升级到`dubbo-3.2.10`后,消费者通过P2P方式请求元数据信息时,就报这个异常。
   
   【案例-1】
   Failed to get app metadata for revision 6dd35818cdc09f4b682f8ac3fe312847
   ```
   2024-01-23 11:51:14,075 [Dubbo-framework-metadata-retry-thread-1] ERROR org.apache.dubbo.registry.client.metadata.MetadataUtils -  [DUBBO] Failed to get app metadata for revision 6dd35818cdc09f4b682f8ac3fe312847 for type local from instance xxx.xxx.xxx.xxx:8504, dubbo version: 3.2.9, current host: xxx.xxx.xxx.xxx, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. 
   org.apache.dubbo.rpc.RpcException: Failed to invoke remote method: getMetadataInfo, provider: dubbo://xxx.xxx.xxx.xxx:8502/org.apache.dubbo.metadata.MetadataService?connections=1&corethreads=2&dubbo=2.0.2&group=member&port=8502&prefer.serialization=fastjson2,hessian2&protocol=dubbo&release=3.2.9&retries=0&side=consumer&threadpool=cached&threads=100&timeout=3000&version=1.0.0, cause: org.apache.dubbo.remoting.RemotingException: java.lang.NullPointerException
   java.lang.NullPointerException
       at com.leoao.member.config.AccessLogFilter.invoke$original$xDfvMLE5(AccessLogFilter.java:44)
   ```
   
   【案例-2】
   Failed to get app metadata for revision 1cea0c7b33b0aa385ce4b70492c2a1a1
   ```
   org.apache.dubbo.rpc.RpcException: Failed to invoke remote method: getMetadataInfo, provider: dubbo://xxx.xxx.xxx.xxx:8502/org.apache.dubbo.metadata.MetadataService?connections=1&corethreads=2&dubbo=2.0.2&group=member&port=8502&prefer.serialization=fastjson2,hessian2&protocol=dubbo&release=3.2.9&retries=0&side=consumer&threadpool=cached&threads=100&timeout=3000&version=1.0.0, cause: org.apache.dubbo.remoting.RemotingException: java.lang.NullPointerException
   java.lang.NullPointerException
       at com.leoao.member.config.AccessLogFilter.invoke$original$Z4EZ3vYz(AccessLogFilter.java:44)
       at com.leoao.member.config.AccessLogFilter.invoke$original$Z4EZ3vYz$accessor$MkQ8PI6W(AccessLogFilter.java)
       at com.leoao.member.config.AccessLogFilter$auxiliary$AbJhZFvy.call(Unknown Source)
       at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
       at com.leoao.member.config.AccessLogFilter.invoke(AccessLogFilter.java)
       at com.leoao.starter.dubbo.generic.GenericFilterWrapper.invoke(GenericFilterWrapper.java:67)
       at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349)
       at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:197)
       at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:167)
       at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:110)
       at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:205)
       at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
       at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:64)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:39)
       at java.lang.Thread.run(Thread.java:750)
   
       at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:311)
       at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:194)
       at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:64)
       at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:81)
       at org.apache.dubbo.metadata.MetadataServiceDubboProxy0.getMetadataInfo(MetadataServiceDubboProxy0.java)
       at org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata(MetadataUtils.java:182)
       at org.apache.dubbo.registry.client.AbstractServiceDiscovery.lambda$getRemoteMetadata$2(AbstractServiceDiscovery.java:249)
       at org.apache.dubbo.metrics.event.MetricsEventBus.post(MetricsEventBus.java:84)
       at org.apache.dubbo.registry.client.AbstractServiceDiscovery.getRemoteMetadata(AbstractServiceDiscovery.java:247)
       at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$doOnEvent$2(ServiceInstancesChangedListener.java:172)
       at java.util.Optional.orElseGet(Optional.java:267)
       at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:172)
       at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:125)
       at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener$AddressRefreshRetryTask.run(ServiceInstancesChangedListener.java:545)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at java.lang.Thread.run(Thread.java:750)
   Caused by: java.util.concurrent.ExecutionException: org.apache.dubbo.remoting.RemotingException: java.lang.NullPointerException
   java.lang.NullPointerException
       at com.leoao.member.config.AccessLogFilter.invoke$original$Z4EZ3vYz(AccessLogFilter.java:44)
       at com.leoao.member.config.AccessLogFilter.invoke$original$Z4EZ3vYz$accessor$MkQ8PI6W(AccessLogFilter.java)
       at com.leoao.member.config.AccessLogFilter$auxiliary$AbJhZFvy.call(Unknown Source)
       at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
       at com.leoao.member.config.AccessLogFilter.invoke(AccessLogFilter.java)
       at com.leoao.starter.dubbo.generic.GenericFilterWrapper.invoke(GenericFilterWrapper.java:67)
       at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349)
       at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:197)
       at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:167)
       at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:110)
       at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:205)
       at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
       at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:64)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:39)
       at java.lang.Thread.run(Thread.java:750)
   
       at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
       at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1928)
       at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:233)
       at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:292)
       ... 20 common frames omitted
   Caused by: org.apache.dubbo.remoting.RemotingException: java.lang.NullPointerException
   java.lang.NullPointerException
       at com.leoao.member.config.AccessLogFilter.invoke$original$Z4EZ3vYz(AccessLogFilter.java:44)
       at com.leoao.member.config.AccessLogFilter.invoke$original$Z4EZ3vYz$accessor$MkQ8PI6W(AccessLogFilter.java)
       at com.leoao.member.config.AccessLogFilter$auxiliary$AbJhZFvy.call(Unknown Source)
       at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
       at com.leoao.member.config.AccessLogFilter.invoke(AccessLogFilter.java)
       at com.leoao.starter.dubbo.generic.GenericFilterWrapper.invoke(GenericFilterWrapper.java:67)
       at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349)
       at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:197)
       at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:167)
       at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:110)
       at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:205)
       at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
       at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:64)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:39)
       at java.lang.Thread.run(Thread.java:750)
   
       at org.apache.dubbo.remoting.exchange.support.DefaultFuture.doReceived(DefaultFuture.java:265)
       at org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:208)
       at org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:196)
       at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleResponse(HeaderExchangeHandler.java:65)
       at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:211)
       at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
       at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:64)
       at org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:151)
       at org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:77)
       at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:219)
       ... 21 common frames omitted
   收起
   level: ERROR
   logger: org.apache.dubbo.registry.client.metadata.MetadataUtils
   message:  [DUBBO] Failed to get app metadata for revision 1cea0c7b33b0aa385ce4b70492c2a1a1 for type local from instance xxx.xxx.xxx.xxx:8504, dubbo version: 3.2.10, current host: 192.168.105.87, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. 
   thread: Dubbo-framework-metadata-retry-thread-1
   timestamp: 2024-01-23T10:36:35.005
   
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   Metadata 这个服务目前是已知的不加载 Filter 的,建议在你们的 Filter 中也排除掉这个服务


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   > `dubbo-3.2.10.jar`好像默认不会自动加载系统的这些`Filter`
   
   这个和设计是不符合的,你是怎么发现的。有没有配置 filter 这个参数


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   懂了,感谢耐心解答


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   这样子,业务开发同学会在心里骂人滴,升级风险与成本很高,后续也很难再推进。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] JoyfulAndSpeedyMan commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   > @JoyfulAndSpeedyMan 在 #11769 中已经修复,预计周四 3.1.8 正式 release 后可以使用
   
   好的,谢谢


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

Posted by "CrazyHZM (via GitHub)" <gi...@apache.org>.
CrazyHZM closed issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误
URL: https://github.com/apache/dubbo/issues/11716


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] liunancun commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   我把测试样例代码上传到GitHub上了  
   https://github.com/liunancun/dubbo_filter_null.git


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] liunancun commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   我尝试升级到3.1.7版本之后,这个用例不会报错了,但业务代码测试会报另外一个错误,具体场景没办法用demo重现
   
   ```
   2023-03-04 10:08:25.538 ERROR 9312 --- [           main] o.a.d.r.client.metadata.MetadataUtils    :  [DUBBO] Failed to get app metadata for revision 0e3b6e9a9e1c2b728fcedaadc65c4450 for type local from instance 192.168.99.230:20001, dubbo version: 3.1.7, current host: 10.10.1.19, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. 
   
   java.lang.NullPointerException: null
   	at org.apache.dubbo.rpc.RpcServiceContext.isConsumerSide(RpcServiceContext.java:144) ~[dubbo-3.1.7.jar:3.1.7]
   	at com.bessky.dubbo.UserContextFilter.invoke(UserContextFilter.java:19) ~[bessky-dubbo-3.0.0-20230304.020331-14.jar:na]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:327) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:57) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.metadata.MetadataServiceDubboProxy0.getMetadataInfo(MetadataServiceDubboProxy0.java) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata(MetadataUtils.java:173) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.AbstractServiceDiscovery.getRemoteMetadata(AbstractServiceDiscovery.java:228) [dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$doOnEvent$2(ServiceInstancesChangedListener.java:159) [dubbo-3.1.7.jar:3.1.7]
   	at java.util.Optional.orElseGet(Optional.java:267) ~[na:1.8.0_161]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:159) [dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:113) [dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.registerServiceWatcher(ZookeeperServiceDiscovery.java:208) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.lambda$addServiceInstancesChangedListener$3(ZookeeperServiceDiscovery.java:154) ~[dubbo-3.1.7.jar:3.1.7]
   	at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_161]
   	at org.apache.dubbo.registry.zookeeper.ZookeeperServiceDiscovery.addServiceInstancesChangedListener(ZookeeperServiceDiscovery.java:154) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:327) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:217) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:185) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:88) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:183) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:127) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:573) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:437) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:245) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:60) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:247) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:538) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:508) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:490) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:107) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:614) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:448) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:232) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:131) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:396) ~[dubbo-3.1.7.jar:3.1.7]
   	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707) ~[na:1.8.0_161]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:376) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:167) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:113) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:102) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:47) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE]
   	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE]
   	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE]
   	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE]
   	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.9.RELEASE.jar:5.2.9.RELEASE]
   	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.10.RELEASE.jar:2.2.10.RELEASE]
   	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.10.RELEASE.jar:2.2.10.RELEASE]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.10.RELEASE.jar:2.2.10.RELEASE]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.2.10.RELEASE.jar:2.2.10.RELEASE]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) ~[spring-boot-2.2.10.RELEASE.jar:2.2.10.RELEASE]
   	at com.bessky.elasticsearch.BesskyElasticsearchServiceApplication.main(BesskyElasticsearchServiceApplication.java:17) ~[classes/:na]
   ```
   
   我用demo重现的时候不会调用org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata方法,这个方法具体要在什么场景下才会调用?业务代码调用这个方法进入过滤器还是会报空指针


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] AlbumenJ commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   Fixed in #11769


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


Re: [I] 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误 [dubbo]

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

   > > > > Metadata 这个服务目前是已知的不加载 Filter 的,建议在你们的 Filter 中也排除掉这个服务
   > > > 
   > > > 
   > > > 这个是从哪个版本开始调整的?`dubbo-3.1.1`使用中没出现这个。
   > > > 原来如此,这样会有问题。因为业务应用都是通过`dubbo.provider.filter=xxx`统一配置自定义Filter,Filter中会使用`RpcContext.getServiceContext().isConsumerSide()`,而请求getMetadataInfo会走到这些Filter。
   > > > 既然Metadata这个服务不加载Filter,为何其服务请求还要走Filter呢,建议两边保持一致语义。
   > > 
   > > 
   > > 
   > > 1. 3.2.4
   > > 2. 因为使用的是 `serviceConfig.setFilter("-default")`, 只能保证 Dubbo 内部的 Filter 被排除
   > > 3. 如果全部的 Filter 包括用户侧的,如果有的用户期望注入一些自定义的东西就没办法工作了
   > 
   > 2. Filter被排除的意义有哪些?影响范围有哪些?我的理解,getMetadataInfo只会在节点上下线或动态伸缩时才会触发请求,调用量不大,性能损失带来的收益比不是很高
   > 3. 另一种使用场景,业务自定义Filter若依赖系统层面的Filter做的事情,升级后会一大堆出现提供者元数据获取失败,牵一发而动全身。我们现在是通过在自定义Filter运行之前先运行`ContextFilter`解决,`dubbo.provider.filter=context,xxx`,因为改代码让业务方配合升级,每个应用都复制了一份这样的Filter,难度增加容易遗漏。这个是框架层面未向前兼容,是框架层面的事情,还是用户层面?若是用户层面的事情,如何调整自定义Filter代码,绕过context配置。尝试了`RpcContext.getServiceContext().isConsumerSide()`或`RpcContext.getServerAttachment().isConsumerSide()`都报NPE,可以把URL中的provider参数拿出来,`invoker.getUrl().getSide(PROVIDER_SIDE).equals(CONSUMER_SIDE)`,这样判断
   > 4. 提个建议,getMetadataInfo也没必要使用这些Filter,内部服务能否一起屏蔽掉所有Filter(包括用户侧)?
   
   2. 之前有些用户定义的默认 FIlter 被加载,导致非预期行为(和这个 issue 很像,区别是之前的是默认加载你这个是指定加载;之前修复的时候留了个指定加载的口子)
   3. 4. 是的,所以可以考虑在 3.3 这种大版本升级引入改动


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] liunancun commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   发现只要依赖一个其他应用的服务之后就会触发getRemoteMetadata方法,然后就会在经过过滤器的时候报空指针
   ```
   2023-03-04 22:00:12.297  INFO 13496 --- [           main] d.s.b.c.e.WelcomeLogoApplicationListener :  [DUBBO] 
   
    :: Dubbo (v3.1.5) : https://github.com/apache/dubbo
    :: Discuss group : dev@dubbo.apache.org
   , dubbo version: 3.1.5, current host: 10.10.1.19
   
     .   ____          _            __ _ _
    /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
   ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
    \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
     '  |____| .__|_| |_|_| |_\__, | / / / /
    =========|_|==============|___/=/_/_/_/
    :: Spring Boot ::                (v2.7.9)
   
   2023-03-04 22:00:12.388  INFO 13496 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication using Java 1.8.0_161 on QWERTYUIOP-PC with PID 13496 (D:\work\workspace\dubbo_zipkin\dubbo_filter_null\target\classes started by liunancun in D:\work\workspace\dubbo_zipkin\dubbo_filter_null)
   2023-03-04 22:00:12.389  INFO 13496 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to 1 default profile: "default"
   2023-03-04 22:00:12.833  INFO 13496 --- [           main] o.apache.dubbo.rpc.model.FrameworkModel  :  [DUBBO] Reset global default framework from null to Dubbo Framework[1], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.833  INFO 13496 --- [           main] o.apache.dubbo.rpc.model.FrameworkModel  :  [DUBBO] Dubbo Framework[1] is created, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.851  INFO 13496 --- [           main] o.a.d.c.r.GlobalResourcesRepository      :  [DUBBO] Creating global shared handler ..., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.876  INFO 13496 --- [           main] o.a.d.c.utils.SerializeSecurityManager   :  [DUBBO] Read serialize allow list from jar:file:/F:/liunancun/repository/org/apache/dubbo/dubbo/3.1.5/dubbo-3.1.5.jar!/security/serialize.allowlist, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.876  INFO 13496 --- [           main] o.a.d.c.utils.SerializeSecurityManager   :  [DUBBO] Serialize check level: WARN, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.897  INFO 13496 --- [           main] o.a.dubbo.rpc.model.ApplicationModel     :  [DUBBO] Dubbo Application[1.0](unknown) is created, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.899  INFO 13496 --- [           main] org.apache.dubbo.rpc.model.ScopeModel    :  [DUBBO] Dubbo Module[1.0.0] is created, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.921  INFO 13496 --- [           main] o.a.d.c.context.AbstractConfigManager    :  [DUBBO] Config settings: {dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.921  INFO 13496 --- [           main] o.a.d.c.context.AbstractConfigManager    :  [DUBBO] Config settings: {dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.964  INFO 13496 --- [           main] o.apache.dubbo.rpc.model.FrameworkModel  :  [DUBBO] Reset global default application from null to Dubbo Application[1.1](unknown), dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.964  INFO 13496 --- [           main] o.a.dubbo.rpc.model.ApplicationModel     :  [DUBBO] Dubbo Application[1.1](unknown) is created, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.964  INFO 13496 --- [           main] org.apache.dubbo.rpc.model.ScopeModel    :  [DUBBO] Dubbo Module[1.1.0] is created, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.969  INFO 13496 --- [           main] o.a.d.c.context.AbstractConfigManager    :  [DUBBO] Config settings: {dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.969  INFO 13496 --- [           main] o.a.d.c.context.AbstractConfigManager    :  [DUBBO] Config settings: {dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.978  INFO 13496 --- [           main] o.a.d.c.s.c.DubboSpringInitializer       :  [DUBBO] Use default application: Dubbo Application[1.1](unknown), dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.978  INFO 13496 --- [           main] org.apache.dubbo.rpc.model.ScopeModel    :  [DUBBO] Dubbo Module[1.1.1] is created, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.980  INFO 13496 --- [           main] o.a.d.c.context.AbstractConfigManager    :  [DUBBO] Config settings: {dubbo.config.mode=STRICT, dubbo.config.ignore-duplicated-interface=false}, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.983  INFO 13496 --- [           main] o.a.d.c.s.c.DubboSpringInitializer       :  [DUBBO] Use default module model of target application: Dubbo Module[1.1.1], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:12.983  INFO 13496 --- [           main] o.a.d.c.s.c.DubboSpringInitializer       :  [DUBBO] Bind Dubbo Module[1.1.1] to spring container: org.springframework.beans.factory.support.DefaultListableBeanFactory@2de56eb2, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.053  INFO 13496 --- [           main] c.s.b.f.a.ServiceAnnotationPostProcessor :  [DUBBO] BeanNameGenerator bean can't be found in BeanFactory with name [org.springframework.context.annotation.internalConfigurationBeanNameGenerator], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.054  INFO 13496 --- [           main] c.s.b.f.a.ServiceAnnotationPostProcessor :  [DUBBO] BeanNameGenerator will be a instance of org.springframework.context.annotation.AnnotationBeanNameGenerator , it maybe a potential problem on bean name generation., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.056  INFO 13496 --- [           main] c.s.b.f.a.ServiceAnnotationPostProcessor :  [DUBBO] Found 1 classes annotated by Dubbo @Service under package [com.example.demo]: [com.example.demo.DemoServiceImpl], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.068  INFO 13496 --- [           main] c.s.b.f.a.ServiceAnnotationPostProcessor :  [DUBBO] Register ServiceBean[ServiceBean:com.example.demo.DemoService::]: Root bean: class [org.apache.dubbo.config.spring.ServiceBean]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.069  INFO 13496 --- [           main] o.s.c.a.ConfigurationClassPostProcessor  : Cannot enhance @Configuration bean definition 'org.apache.dubbo.spring.boot.autoconfigure.DubboRelaxedBinding2AutoConfiguration' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.
   2023-03-04 22:00:13.069  INFO 13496 --- [           main] o.s.c.a.ConfigurationClassPostProcessor  : Cannot enhance @Configuration bean definition 'org.apache.dubbo.spring.boot.autoconfigure.DubboAutoConfiguration' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.
   2023-03-04 22:00:13.201  INFO 13496 --- [           main] f.a.ReferenceAnnotationBeanPostProcessor :  [DUBBO] Register dubbo reference bean: demoService = ReferenceBean:com.example.demo.DemoService() at private com.example.demo.DemoService com.example.demo.DemoApplication.demoService, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.201  INFO 13496 --- [           main] f.a.ReferenceAnnotationBeanPostProcessor :  [DUBBO] Register dubbo reference bean: userService = ReferenceBean:com.example.demo.UserService() at private com.example.demo.UserService com.example.demo.DemoApplication.userService, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.201  INFO 13496 --- [           main] f.a.ReferenceAnnotationBeanPostProcessor :  [DUBBO] Register dubbo reference bean: operationLogService = ReferenceBean:com.bessky.elasticsearch.log.service.OperationLogService() at private com.bessky.elasticsearch.log.service.OperationLogService com.example.demo.DemoApplication.operationLogService, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.343  INFO 13496 --- [           main] f.a.ReferenceAnnotationBeanPostProcessor :  [DUBBO] class org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor was destroying!, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.692  INFO 13496 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
   2023-03-04 22:00:13.703  INFO 13496 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
   2023-03-04 22:00:13.703  INFO 13496 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.71]
   2023-03-04 22:00:13.838  INFO 13496 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
   2023-03-04 22:00:13.838  INFO 13496 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1408 ms
   2023-03-04 22:00:13.930  INFO 13496 --- [           main] o.a.d.c.s.c.DubboConfigBeanInitializer   :  [DUBBO] loading dubbo config beans ..., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.932  INFO 13496 --- [           main] o.a.d.c.s.c.DubboConfigBeanInitializer   :  [DUBBO] dubbo config beans are loaded., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.975  INFO 13496 --- [           main] o.a.d.c.d.DefaultApplicationDeployer     :  [DUBBO] No value is configured in the registry, the DynamicConfigurationFactory extension[name : zookeeper] supports as the config center, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.976  INFO 13496 --- [           main] o.a.d.c.d.DefaultApplicationDeployer     :  [DUBBO] The registry[<dubbo:registry address="zookeeper://192.168.99.214:2181" protocol="zookeeper" port="2181" />] will be used as the config center, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:13.981  INFO 13496 --- [           main] o.a.d.c.d.DefaultApplicationDeployer     :  [DUBBO] use registry as config-center: <dubbo:config-center highestPriority="false" id="config-center-zookeeper-192.168.99.214-2181" address="zookeeper://192.168.99.214:2181" protocol="zookeeper" port="2181" parameters="{client=null}" />, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.089  INFO 13496 --- [           main] org.apache.curator.utils.Compatibility   : Running in ZooKeeper 3.4.x compatibility mode
   2023-03-04 22:00:14.090  INFO 13496 --- [           main] org.apache.curator.utils.Compatibility   : Using emulated InjectSessionExpiration
   2023-03-04 22:00:14.112  INFO 13496 --- [           main] o.a.c.f.imps.CuratorFrameworkImpl        : Starting
   2023-03-04 22:00:14.117  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:zookeeper.version=3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT
   2023-03-04 22:00:14.117  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:host.name=windows10.microdone.cn
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:java.version=1.8.0_161
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:java.vendor=Oracle Corporation
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:java.home=C:\Java\jdk1.8.0_161\jre
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:java.class.path=D:\work\workspace\dubbo_zipkin\dubbo_filter_null\target\classes;F:\liunancun\repository\org\springframework\boot\spring-boot-starter-web\2.7.9\spring-boot-starter-web-2.7.9.jar;F:\liunancun\repository\org\springframework\boot\spring-boot-starter\2.7.9\spring-boot-starter-2.7.9.jar;F:\liunancun\repository\org\springframework\boot\spring-boot\2.7.9\spring-boot-2.7.9.jar;F:\liunancun\repository\org\springframework\boot\spring-boot-autoconfigure\2.7.9\spring-boot-autoconfigure-2.7.9.jar;F:\liunancun\repository\org\springframework\boot\spring-boot-starter-logging\2.7.9\spring-boot-starter-logging-2.7.9.jar;F:\liunancun\repository\ch\qos\logback\logback-classic\1.2.11\logback-classic-1.2.11.jar;F:\liunancun\repository\ch\qos\logback\logback-core\1.2.11\logback-core-1.2.11.jar;F:\liunancun\repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.2\log4j-t
 o-slf4j-2.17.2.jar;F:\liunancun\repository\org\apache\logging\log4j\log4j-api\2.17.2\log4j-api-2.17.2.jar;F:\liunancun\repository\org\slf4j\jul-to-slf4j\1.7.36\jul-to-slf4j-1.7.36.jar;F:\liunancun\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;F:\liunancun\repository\org\springframework\spring-core\5.3.25\spring-core-5.3.25.jar;F:\liunancun\repository\org\springframework\spring-jcl\5.3.25\spring-jcl-5.3.25.jar;F:\liunancun\repository\org\yaml\snakeyaml\1.30\snakeyaml-1.30.jar;F:\liunancun\repository\org\springframework\boot\spring-boot-starter-json\2.7.9\spring-boot-starter-json-2.7.9.jar;F:\liunancun\repository\com\fasterxml\jackson\core\jackson-databind\2.13.5\jackson-databind-2.13.5.jar;F:\liunancun\repository\com\fasterxml\jackson\core\jackson-annotations\2.13.5\jackson-annotations-2.13.5.jar;F:\liunancun\repository\com\fasterxml\jackson\core\jackson-core\2.13.5\jackson-core-2.13.5.jar;F:\liunancun\repository\com\fasterxml\jackson\dat
 atype\jackson-datatype-jdk8\2.13.5\jackson-datatype-jdk8-2.13.5.jar;F:\liunancun\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.5\jackson-datatype-jsr310-2.13.5.jar;F:\liunancun\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.5\jackson-module-parameter-names-2.13.5.jar;F:\liunancun\repository\org\springframework\boot\spring-boot-starter-tomcat\2.7.9\spring-boot-starter-tomcat-2.7.9.jar;F:\liunancun\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.71\tomcat-embed-core-9.0.71.jar;F:\liunancun\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.71\tomcat-embed-el-9.0.71.jar;F:\liunancun\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.71\tomcat-embed-websocket-9.0.71.jar;F:\liunancun\repository\org\springframework\spring-web\5.3.25\spring-web-5.3.25.jar;F:\liunancun\repository\org\springframework\spring-beans\5.3.25\spring-beans-5.3.25.jar;F:\liunancun\repository\org\springframework\spring-webmvc\5.3.25\spring-
 webmvc-5.3.25.jar;F:\liunancun\repository\org\springframework\spring-aop\5.3.25\spring-aop-5.3.25.jar;F:\liunancun\repository\org\springframework\spring-context\5.3.25\spring-context-5.3.25.jar;F:\liunancun\repository\org\springframework\spring-expression\5.3.25\spring-expression-5.3.25.jar;F:\liunancun\repository\org\apache\dubbo\dubbo-spring-boot-starter\3.1.5\dubbo-spring-boot-starter-3.1.5.jar;F:\liunancun\repository\org\apache\dubbo\dubbo-spring-boot-autoconfigure\3.1.5\dubbo-spring-boot-autoconfigure-3.1.5.jar;F:\liunancun\repository\org\apache\dubbo\dubbo-spring-boot-autoconfigure-compatible\3.1.5\dubbo-spring-boot-autoconfigure-compatible-3.1.5.jar;F:\liunancun\repository\org\apache\dubbo\dubbo\3.1.5\dubbo-3.1.5.jar;F:\liunancun\repository\com\alibaba\spring\spring-context-support\1.0.8\spring-context-support-1.0.8.jar;F:\liunancun\repository\org\javassist\javassist\3.28.0-GA\javassist-3.28.0-GA.jar;F:\liunancun\repository\io\netty\netty-all\4.1.89.Final\netty-all-4.1.89.Fin
 al.jar;F:\liunancun\repository\io\netty\netty-buffer\4.1.89.Final\netty-buffer-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec\4.1.89.Final\netty-codec-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-dns\4.1.89.Final\netty-codec-dns-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-haproxy\4.1.89.Final\netty-codec-haproxy-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-http\4.1.89.Final\netty-codec-http-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-http2\4.1.89.Final\netty-codec-http2-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-memcache\4.1.89.Final\netty-codec-memcache-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-mqtt\4.1.89.Final\netty-codec-mqtt-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-redis\4.1.89.Final\netty-codec-redis-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-smtp\4.1.89.Final\netty-codec-smtp-4.1.89.Final.jar;F:\liunancun\repositor
 y\io\netty\netty-codec-socks\4.1.89.Final\netty-codec-socks-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-stomp\4.1.89.Final\netty-codec-stomp-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-codec-xml\4.1.89.Final\netty-codec-xml-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-common\4.1.89.Final\netty-common-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-handler\4.1.89.Final\netty-handler-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-transport-native-unix-common\4.1.89.Final\netty-transport-native-unix-common-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-handler-proxy\4.1.89.Final\netty-handler-proxy-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-handler-ssl-ocsp\4.1.89.Final\netty-handler-ssl-ocsp-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-resolver\4.1.89.Final\netty-resolver-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-resolver-dns\4.1.89.Final\netty-resolver-dns-4.1.89.Final.jar;F:\liun
 ancun\repository\io\netty\netty-transport\4.1.89.Final\netty-transport-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-transport-rxtx\4.1.89.Final\netty-transport-rxtx-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-transport-sctp\4.1.89.Final\netty-transport-sctp-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-transport-udt\4.1.89.Final\netty-transport-udt-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-transport-classes-epoll\4.1.89.Final\netty-transport-classes-epoll-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-transport-classes-kqueue\4.1.89.Final\netty-transport-classes-kqueue-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-resolver-dns-classes-macos\4.1.89.Final\netty-resolver-dns-classes-macos-4.1.89.Final.jar;F:\liunancun\repository\io\netty\netty-transport-native-epoll\4.1.89.Final\netty-transport-native-epoll-4.1.89.Final-linux-x86_64.jar;F:\liunancun\repository\io\netty\netty-transport-native-epoll\4.1.89.Final\netty-tran
 sport-native-epoll-4.1.89.Final-linux-aarch_64.jar;F:\liunancun\repository\io\netty\netty-transport-native-kqueue\4.1.89.Final\netty-transport-native-kqueue-4.1.89.Final-osx-x86_64.jar;F:\liunancun\repository\io\netty\netty-transport-native-kqueue\4.1.89.Final\netty-transport-native-kqueue-4.1.89.Final-osx-aarch_64.jar;F:\liunancun\repository\io\netty\netty-resolver-dns-native-macos\4.1.89.Final\netty-resolver-dns-native-macos-4.1.89.Final-osx-x86_64.jar;F:\liunancun\repository\io\netty\netty-resolver-dns-native-macos\4.1.89.Final\netty-resolver-dns-native-macos-4.1.89.Final-osx-aarch_64.jar;F:\liunancun\repository\com\google\code\gson\gson\2.9.1\gson-2.9.1.jar;F:\liunancun\repository\com\alibaba\fastjson\1.2.83\fastjson-1.2.83.jar;F:\liunancun\repository\com\alibaba\fastjson2\fastjson2\2.0.23\fastjson2-2.0.23.jar;F:\liunancun\repository\org\apache\curator\curator-x-discovery\4.2.0\curator-x-discovery-4.2.0.jar;F:\liunancun\repository\org\apache\curator\curator-recipes\4.2.0\curator
 -recipes-4.2.0.jar;F:\liunancun\repository\org\apache\curator\curator-framework\4.2.0\curator-framework-4.2.0.jar;F:\liunancun\repository\org\apache\curator\curator-client\4.2.0\curator-client-4.2.0.jar;F:\liunancun\repository\com\google\guava\guava\27.0.1-jre\guava-27.0.1-jre.jar;F:\liunancun\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;F:\liunancun\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;F:\liunancun\repository\org\checkerframework\checker-qual\2.5.2\checker-qual-2.5.2.jar;F:\liunancun\repository\com\google\errorprone\error_prone_annotations\2.2.0\error_prone_annotations-2.2.0.jar;F:\liunancun\repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;F:\liunancun\repository\org\codehaus\mojo\animal-sniffer-annotations\1.17\animal-sniffer-annotations-1.17.jar;F:\liunancun\repository\org\apache\zookeeper\zookeeper\3.4.14\zookee
 per-3.4.14.jar;F:\liunancun\repository\org\slf4j\slf4j-api\1.7.36\slf4j-api-1.7.36.jar;F:\liunancun\repository\com\github\spotbugs\spotbugs-annotations\3.1.9\spotbugs-annotations-3.1.9.jar;F:\liunancun\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;F:\liunancun\repository\jline\jline\0.9.94\jline-0.9.94.jar;F:\liunancun\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;F:\liunancun\repository\io\netty\netty\3.10.6.Final\netty-3.10.6.Final.jar;F:\liunancun\repository\com\bessky\bessky-elasticsearch-api\3.0.0-SNAPSHOT\bessky-elasticsearch-api-3.0.0-SNAPSHOT.jar;F:\liunancun\repository\com\bessky\bessky-common-model\3.0.0-SNAPSHOT\bessky-common-model-3.0.0-SNAPSHOT.jar
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:java.library.path=C:\Java\jdk1.8.0_161\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Java/jdk1.8.0_161/bin/../jre/bin/server;C:/Java/jdk1.8.0_161/bin/../jre/bin;C:/Java/jdk1.8.0_161/bin/../jre/lib/amd64;F:\liunancun\nodejs;C:\Java\jdk1.8.0_161\bin;C:\apache-maven-3.6.3\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\7-Zip;C:\Program Files\TortoiseGit\bin;E:\mysql\mysql-5.6.41-winx64\bin;C:\Python\Python38;C:\Program Files\Git\cmd;C:\Program Files\IDM Computer Solutions\UltraEdit;C:\Program Files\Pandoc\;;C:\Program Files\JetBrains\IntelliJ IDEA 2020.1.1\bin;;D:\work\ide\eclipse;;.
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:java.io.tmpdir=C:\Users\liunancun\AppData\Local\Temp\
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:java.compiler=<NA>
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:os.name=Windows 7
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:os.arch=amd64
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:os.version=6.1
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:user.name=liunancun
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:user.home=C:\Users\liunancun
   2023-03-04 22:00:14.118  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Client environment:user.dir=D:\work\workspace\dubbo_zipkin\dubbo_filter_null
   2023-03-04 22:00:14.119  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Initiating client connection, connectString=192.168.99.214:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@1fba386c
   2023-03-04 22:00:14.138  INFO 13496 --- [           main] o.a.c.f.imps.CuratorFrameworkImpl        : Default schema
   2023-03-04 22:00:14.141  INFO 13496 --- [68.99.214:2181)] org.apache.zookeeper.ClientCnxn          : Opening socket connection to server 192.168.99.214/192.168.99.214:2181. Will not attempt to authenticate using SASL (unknown error)
   2023-03-04 22:00:14.144  INFO 13496 --- [68.99.214:2181)] org.apache.zookeeper.ClientCnxn          : Socket connection established to 192.168.99.214/192.168.99.214:2181, initiating session
   2023-03-04 22:00:14.150  INFO 13496 --- [68.99.214:2181)] org.apache.zookeeper.ClientCnxn          : Session establishment complete on server 192.168.99.214/192.168.99.214:2181, sessionid = 0x1018cf4858d1224, negotiated timeout = 40000
   2023-03-04 22:00:14.155  INFO 13496 --- [ain-EventThread] o.a.c.f.state.ConnectionStateManager     : State change: CONNECTED
   2023-03-04 22:00:14.156  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperTransporter   :  [DUBBO] No valid zookeeper client found from cache, therefore create a new client for url. zookeeper://192.168.99.214:2181/org.apache.dubbo.config.ConfigCenterConfig?check=true&config-file=dubbo.properties&group=dubbo&highest-priority=false&namespace=dubbo&timeout=30000, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.159  INFO 13496 --- [nStateManager-0] o.a.d.r.z.c.CuratorZookeeperClient       :  [DUBBO] Curator zookeeper client instance initiated successfully, session id is 1018cf4858d1224, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.178  WARN 13496 --- [           main] o.a.d.common.config.ConfigurationUtils   :  [DUBBO] Config center was specified, but no config item found., dubbo version: 3.1.5, current host: 10.10.1.19, error code: 0-12. This may be caused by , go to https://dubbo.apache.org/faq/0/12 to find instructions. 
   2023-03-04 22:00:14.178  WARN 13496 --- [           main] o.a.d.common.config.ConfigurationUtils   :  [DUBBO] Config center was specified, but no config item found., dubbo version: 3.1.5, current host: 10.10.1.19, error code: 0-12. This may be caused by , go to https://dubbo.apache.org/faq/0/12 to find instructions. 
   2023-03-04 22:00:14.193  INFO 13496 --- [           main] o.a.dubbo.config.context.ConfigManager   :  [DUBBO] The current configurations or effective configurations are as follows:, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.194  INFO 13496 --- [           main] o.a.dubbo.config.context.ConfigManager   :  [DUBBO] <dubbo:application parameters="{}" name="demo" qosEnable="true" protocol="dubbo" />, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.195  INFO 13496 --- [           main] o.a.dubbo.config.context.ConfigManager   :  [DUBBO] <dubbo:protocol name="dubbo" />, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.195  INFO 13496 --- [           main] o.a.dubbo.config.context.ConfigManager   :  [DUBBO] <dubbo:registry address="zookeeper://192.168.99.214:2181" protocol="zookeeper" port="2181" />, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.195  INFO 13496 --- [           main] o.a.dubbo.config.context.ConfigManager   :  [DUBBO] <dubbo:ssl />, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.220  INFO 13496 --- [           main] o.a.d.c.deploy.DefaultModuleDeployer     :  [DUBBO] Dubbo Module[1.1.0] has been initialized!, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.224  INFO 13496 --- [           main] o.a.d.c.deploy.DefaultModuleDeployer     :  [DUBBO] Dubbo Module[1.1.1] has been initialized!, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.228  INFO 13496 --- [           main] o.a.d.c.d.DefaultApplicationDeployer     :  [DUBBO] No value is configured in the registry, the MetadataReportFactory extension[name : zookeeper] supports as the metadata center, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.228  INFO 13496 --- [           main] o.a.d.c.d.DefaultApplicationDeployer     :  [DUBBO] The registry[<dubbo:registry address="zookeeper://192.168.99.214:2181" protocol="zookeeper" port="2181" />] will be used as the metadata center, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.231  INFO 13496 --- [           main] o.a.d.c.d.DefaultApplicationDeployer     :  [DUBBO] use registry as metadata-center: <dubbo:metadata-report address="zookeeper://192.168.99.214:2181" protocol="zookeeper" port="2181" parameters="{client=null}" />, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.322  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperTransporter   :  [DUBBO] find valid zookeeper client from the cache for address: zookeeper://192.168.99.214:2181/org.apache.dubbo.metadata.report.MetadataReport?application=demo&client=&file.cache=null&port=2181&protocol=zookeeper, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.322  INFO 13496 --- [           main] o.a.d.c.d.DefaultApplicationDeployer     :  [DUBBO] Dubbo Application[1.1](demo) has been initialized!, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.347  INFO 13496 --- [           main] o.a.d.c.s.reference.ReferenceCreator     :  [DUBBO] The configBean[type:ReferenceConfig<com.example.demo.DemoService>] has been built., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.397  INFO 13496 --- [           main] o.a.d.c.s.reference.ReferenceCreator     :  [DUBBO] The configBean[type:ReferenceConfig<com.example.demo.UserService>] has been built., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.401  INFO 13496 --- [           main] o.a.d.c.s.reference.ReferenceCreator     :  [DUBBO] The configBean[type:ReferenceConfig<com.bessky.elasticsearch.log.service.OperationLogService>] has been built., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.820  INFO 13496 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
   2023-03-04 22:00:14.828  INFO 13496 --- [           main] o.a.d.c.deploy.DefaultModuleDeployer     :  [DUBBO] Dubbo Module[1.1.1] is starting., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:14.828  INFO 13496 --- [           main] o.a.d.c.d.DefaultApplicationDeployer     :  [DUBBO] Dubbo Application[1.1](demo) is starting., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.130  INFO 13496 --- [           main] org.apache.dubbo.qos.server.Server       :  [DUBBO] qos-server bind localhost:22222, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.133  INFO 13496 --- [           main] org.apache.dubbo.config.ServiceConfig    :  [DUBBO] Export dubbo service com.example.demo.DemoService to local registry url : injvm://127.0.0.1/com.example.demo.DemoService?anyhost=true&application=demo&background=false&bind.ip=10.10.1.19&bind.port=20880&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.example.demo.DemoService&methods=hello&pid=13496&qos.enable=true&release=3.1.5&side=provider&timestamp=1677938414890, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.133  INFO 13496 --- [           main] org.apache.dubbo.config.ServiceConfig    :  [DUBBO] Register dubbo service com.example.demo.DemoService url dubbo://10.10.1.19:20880/com.example.demo.DemoService?anyhost=true&application=demo&background=false&bind.ip=10.10.1.19&bind.port=20880&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.example.demo.DemoService&methods=hello&pid=13496&qos.enable=true&release=3.1.5&service-name-mapping=true&side=provider&timestamp=1677938414890 to registry 192.168.99.214:2181, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.240  INFO 13496 --- [           main] o.a.d.remoting.transport.AbstractServer  :  [DUBBO] Start NettyServer bind /0.0.0.0:20880, export /10.10.1.19:20880, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.273  INFO 13496 --- [           main] o.a.d.r.client.ServiceDiscoveryRegistry  :  [DUBBO] Loaded registry cache file C:\Users\liunancun\.dubbo\dubbo-registry-demo-192.168.99.214-2181.cache, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.283  INFO 13496 --- [           main] o.a.d.r.c.m.store.MetaCacheManager       :  [DUBBO] Successfully loaded meta cache from file .metadata.demo.zookeeper.192.168.99.214:2181, entries 0, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.288  INFO 13496 --- [           main] o.a.c.f.imps.CuratorFrameworkImpl        : Starting
   2023-03-04 22:00:15.288  INFO 13496 --- [           main] org.apache.zookeeper.ZooKeeper           : Initiating client connection, connectString=192.168.99.214:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@3cd26422
   2023-03-04 22:00:15.290  INFO 13496 --- [           main] o.a.c.f.imps.CuratorFrameworkImpl        : Default schema
   2023-03-04 22:00:15.293  INFO 13496 --- [68.99.214:2181)] org.apache.zookeeper.ClientCnxn          : Opening socket connection to server 192.168.99.214/192.168.99.214:2181. Will not attempt to authenticate using SASL (unknown error)
   2023-03-04 22:00:15.295  INFO 13496 --- [68.99.214:2181)] org.apache.zookeeper.ClientCnxn          : Socket connection established to 192.168.99.214/192.168.99.214:2181, initiating session
   2023-03-04 22:00:15.298  INFO 13496 --- [68.99.214:2181)] org.apache.zookeeper.ClientCnxn          : Session establishment complete on server 192.168.99.214/192.168.99.214:2181, sessionid = 0x1018cf4858d1225, negotiated timeout = 40000
   2023-03-04 22:00:15.298  INFO 13496 --- [ain-EventThread] o.a.c.f.state.ConnectionStateManager     : State change: CONNECTED
   2023-03-04 22:00:15.305  INFO 13496 --- [           main] o.a.dubbo.metadata.MappingCacheManager   :  [DUBBO] Successfully loaded mapping cache from file .mapping.demo, entries 0, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.312  INFO 13496 --- [           main] o.a.d.r.c.m.MigrationRuleListener        :  [DUBBO] Listening for migration rules on dataId demo.migration, group DUBBO_SERVICEDISCOVERY_MIGRATION, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.318  INFO 13496 --- [           main] org.apache.dubbo.config.ServiceConfig    :  [DUBBO] Register dubbo service com.example.demo.DemoService url dubbo://10.10.1.19:20880/com.example.demo.DemoService?anyhost=true&application=demo&background=false&bind.ip=10.10.1.19&bind.port=20880&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.example.demo.DemoService&methods=hello&pid=13496&qos.enable=true&release=3.1.5&service-name-mapping=true&side=provider&timestamp=1677938414890 to registry 192.168.99.214:2181, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.325  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Loaded registry cache file C:\Users\liunancun\.dubbo\dubbo-registry-demo-192.168.99.214-2181.cache, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.325  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperTransporter   :  [DUBBO] find valid zookeeper client from the cache for address: zookeeper://192.168.99.214:2181/org.apache.dubbo.registry.RegistryService?application=demo&dubbo=2.0.2&interface=org.apache.dubbo.registry.RegistryService&pid=13496&qos.enable=true&release=3.1.5, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.326  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Register: dubbo://10.10.1.19:20880/com.example.demo.DemoService?anyhost=true&application=demo&background=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.example.demo.DemoService&methods=hello&pid=13496&release=3.1.5&service-name-mapping=true&side=provider&timestamp=1677938414890, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.336  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Subscribe: provider://10.10.1.19:20880/com.example.demo.DemoService?anyhost=true&application=demo&background=false&bind.ip=10.10.1.19&bind.port=20880&category=configurators&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.example.demo.DemoService&methods=hello&pid=13496&qos.enable=true&release=3.1.5&service-name-mapping=true&side=provider&timestamp=1677938414890, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.344  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Notify urls for subscribe url provider://10.10.1.19:20880/com.example.demo.DemoService?anyhost=true&application=demo&background=false&bind.ip=10.10.1.19&bind.port=20880&category=configurators&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.example.demo.DemoService&methods=hello&pid=13496&qos.enable=true&release=3.1.5&service-name-mapping=true&side=provider&timestamp=1677938414890, url size: 1, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.355  INFO 13496 --- [           main] o.a.d.m.d.TypeDefinitionBuilder          :  [DUBBO] Throw classNotFound (com/google/protobuf/GeneratedMessageV3) in class org.apache.dubbo.metadata.definition.protobuf.ProtobufTypeBuilder, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.355  INFO 13496 --- [           main] o.a.d.m.d.TypeDefinitionBuilder          :  [DUBBO] Throw classNotFound (com/google/protobuf/GeneratedMessageV3) in class org.apache.dubbo.metadata.definition.protobuf.ProtobufTypeBuilder, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.356  INFO 13496 --- [Report-thread-1] o.a.d.m.s.z.ZookeeperMetadataReport      :  [DUBBO] store provider metadata. Identifier : org.apache.dubbo.metadata.report.identifier.MetadataIdentifier@34714508; definition: FullServiceDefinition{parameters=org.apache.dubbo.common.url.component.URLParam$URLParamMap@59b477f} ServiceDefinition [canonicalName=com.example.demo.DemoService, codeSource=file:/D:/work/workspace/dubbo_zipkin/dubbo_filter_null/target/classes/, methods=[MethodDefinition [name=hello, parameterTypes=[java.lang.String], returnType=java.lang.String]]], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.356  INFO 13496 --- [           main] org.apache.dubbo.config.ServiceConfig    :  [DUBBO] Try to register interface application mapping for service com.example.demo.DemoService, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.363  INFO 13496 --- [           main] org.apache.dubbo.config.ServiceConfig    :  [DUBBO] Successfully registered interface application mapping for service com.example.demo.DemoService, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.363  INFO 13496 --- [           main] o.a.d.c.deploy.DefaultModuleDeployer     :  [DUBBO] Dubbo Module[1.1.0] is starting., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.363  INFO 13496 --- [           main] o.a.d.c.deploy.DefaultModuleDeployer     :  [DUBBO] Dubbo Module[1.1.0] has started., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.414  INFO 13496 --- [           main] org.apache.dubbo.config.ReferenceConfig  :  [DUBBO] Using in jvm service com.example.demo.DemoService, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.414  INFO 13496 --- [           main] org.apache.dubbo.config.ReferenceConfig  :  [DUBBO] Referred dubbo service: [com.example.demo.DemoService]. it's not GenericService reference, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.416  INFO 13496 --- [Report-thread-1] o.a.d.m.s.z.ZookeeperMetadataReport      :  [DUBBO] store consumer metadata. Identifier : org.apache.dubbo.metadata.report.identifier.MetadataIdentifier@5a18041f; definition: org.apache.dubbo.common.url.component.URLParam$URLParamMap@6e88955, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.427  WARN 13496 --- [           main] org.apache.dubbo.config.ReferenceConfig  :  [DUBBO] No method found in service interface: com.example.demo.UserService, dubbo version: 3.1.5, current host: 10.10.1.19, error code: 5-4. This may be caused by , go to https://dubbo.apache.org/faq/5/4 to find instructions. 
   2023-03-04 22:00:15.483  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Subscribe: consumer://10.10.1.19/com.example.demo.UserService?application=demo&background=false&category=providers,configurators,routers&check=false&dubbo=2.0.2&interface=com.example.demo.UserService&methods=*&pid=13496&qos.enable=true&release=3.1.5&side=consumer&sticky=false&timestamp=1677938415426&unloadClusterRelated=false, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.496  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Notify urls for subscribe url consumer://10.10.1.19/com.example.demo.UserService?application=demo&background=false&category=providers,configurators,routers&check=false&dubbo=2.0.2&interface=com.example.demo.UserService&methods=*&pid=13496&qos.enable=true&release=3.1.5&side=consumer&sticky=false&timestamp=1677938415426&unloadClusterRelated=false, url size: 2, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.518  INFO 13496 --- [           main] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Local cache mapping is empty, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.527  INFO 13496 --- [           main] o.a.d.r.client.ServiceDiscoveryRegistry  :  [DUBBO] Trying to subscribe from apps demo_04 for service key com.example.demo.UserService, , dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.534  INFO 13496 --- [ain-EventThread] DiscoveryRegistry$DefaultMappingListener :  [DUBBO] Received mapping notification from meta server, {serviceKey: com.example.demo.UserService, apps: [demo_04]}, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.534  INFO 13496 --- [ain-EventThread] DiscoveryRegistry$DefaultMappingListener :  [DUBBO] Mapping of service com.example.demo.UserServicechanged from null to [demo_04], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.561  INFO 13496 --- [           main] .r.c.e.l.ServiceInstancesChangedListener :  [DUBBO] Received instance notification, serviceName: demo_04, instances: 0, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.562  INFO 13496 --- [           main] .r.c.e.l.ServiceInstancesChangedListener :  [DUBBO] 0 unique working revisions: , dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.563  INFO 13496 --- [           main] .r.c.e.l.ServiceInstancesChangedListener :  [DUBBO] Notify service com.example.demo.UserService:null with urls 0, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.566  WARN 13496 --- [           main] .d.r.c.ServiceDiscoveryRegistryDirectory :  [DUBBO] Received empty url list, will ignore for protection purpose., dubbo version: 3.1.5, current host: 10.10.1.19, error code: 4-1. This may be caused by , go to https://dubbo.apache.org/faq/4/1 to find instructions. 
   2023-03-04 22:00:15.570  INFO 13496 --- [           main] .r.c.m.DefaultMigrationAddressComparator :  [DUBBO] No instance address available, stop compare., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.570  INFO 13496 --- [           main] o.a.d.r.c.m.MigrationRuleHandler         :  [DUBBO] Succeed Migrated to APPLICATION_FIRST mode. Service Name: com.example.demo.UserService, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.570  INFO 13496 --- [           main] org.apache.dubbo.config.ReferenceConfig  :  [DUBBO] Referred dubbo service: [com.example.demo.UserService]. it's not GenericService reference, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.579  INFO 13496 --- [Report-thread-1] o.a.d.m.s.z.ZookeeperMetadataReport      :  [DUBBO] store consumer metadata. Identifier : org.apache.dubbo.metadata.report.identifier.MetadataIdentifier@65ed3630; definition: org.apache.dubbo.common.url.component.URLParam$URLParamMap@7f9197f5, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.582  INFO 13496 --- [ain-EventThread] o.a.d.r.client.ServiceDiscoveryRegistry  :  [DUBBO] Trying to subscribe from apps demo_04 for service key com.example.demo.UserService, , dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.603  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Subscribe: consumer://10.10.1.19/com.bessky.elasticsearch.log.service.OperationLogService?application=demo&background=false&category=providers,configurators,routers&check=false&dubbo=2.0.2&interface=com.bessky.elasticsearch.log.service.OperationLogService&methods=getOperationLogList,saveOperationLog,sendOperationLog,sendOperationLog,sendOperationLog&pid=13496&qos.enable=true&release=3.1.5&revision=3.0.0-SNAPSHOT&side=consumer&sticky=false&timestamp=1677938415574&unloadClusterRelated=false, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.616  INFO 13496 --- [           main] o.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Notify urls for subscribe url consumer://10.10.1.19/com.bessky.elasticsearch.log.service.OperationLogService?application=demo&background=false&category=providers,configurators,routers&check=false&dubbo=2.0.2&interface=com.bessky.elasticsearch.log.service.OperationLogService&methods=getOperationLogList,saveOperationLog,sendOperationLog,sendOperationLog,sendOperationLog&pid=13496&qos.enable=true&release=3.1.5&revision=3.0.0-SNAPSHOT&side=consumer&sticky=false&timestamp=1677938415574&unloadClusterRelated=false, url size: 2, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.623  INFO 13496 --- [           main] o.a.d.r.c.m.MetadataServiceNameMapping   :  [DUBBO] Local cache mapping is empty, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.627  INFO 13496 --- [           main] o.a.d.r.client.ServiceDiscoveryRegistry  :  [DUBBO] Trying to subscribe from apps bessky-deploy-main,bessky-elasticsearch-main,bessky-elasticsearch-service for service key com.bessky.elasticsearch.log.service.OperationLogService, , dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.631  INFO 13496 --- [ain-EventThread] DiscoveryRegistry$DefaultMappingListener :  [DUBBO] Received mapping notification from meta server, {serviceKey: com.bessky.elasticsearch.log.service.OperationLogService, apps: [bessky-deploy-main, bessky-elasticsearch-main, bessky-elasticsearch-service]}, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.631  INFO 13496 --- [ain-EventThread] DiscoveryRegistry$DefaultMappingListener :  [DUBBO] Mapping of service com.bessky.elasticsearch.log.service.OperationLogServicechanged from null to [bessky-deploy-main, bessky-elasticsearch-main, bessky-elasticsearch-service], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.707  INFO 13496 --- [           main] .r.c.e.l.ServiceInstancesChangedListener :  [DUBBO] Received instance notification, serviceName: bessky-deploy-main, instances: 1, dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.723  INFO 13496 --- [           main] org.apache.dubbo.rpc.model.ModuleModel   :  [DUBBO] Dynamically registering consumer model bessky-deploy-main/org.apache.dubbo.metadata.MetadataService:1.0.0 into model Dubbo Module[1.1.0], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.756  INFO 13496 --- [lientWorker-6-1] o.a.d.r.t.netty4.NettyClientHandler      :  [DUBBO] The connection of /10.10.1.19:53216 -> /192.168.99.230:20001 is established., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.762  INFO 13496 --- [           main] o.a.d.remoting.transport.AbstractClient  :  [DUBBO] Successfully connect to server /192.168.99.230:20001 from NettyClient 10.10.1.19 using dubbo version 3.1.5, channel is NettyChannel [channel=[id: 0xcd05ae28, L:/10.10.1.19:53216 - R:/192.168.99.230:20001]], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.762  INFO 13496 --- [           main] o.a.d.remoting.transport.AbstractClient  :  [DUBBO] Start NettyClient /10.10.1.19 connect to the server /192.168.99.230:20001, dubbo version: 3.1.5, current host: 10.10.1.19
   dubbo://192.168.99.230:20001/org.apache.dubbo.metadata.MetadataService?connections=1&corethreads=2&dubbo=2.0.2&group=bessky-deploy-main&port=20001&protocol=dubbo&release=3.1.1&retries=0&side=provider&threadpool=cached&threads=100&timeout=120000&version=1.0.0
   2023-03-04 22:00:15.775  INFO 13496 --- [           main] o.a.d.r.transport.netty4.NettyChannel    :  [DUBBO] Close netty channel [id: 0xcd05ae28, L:/10.10.1.19:53216 - R:/192.168.99.230:20001], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:15.779 ERROR 13496 --- [           main] o.a.d.r.client.metadata.MetadataUtils    :  [DUBBO] Failed to get app metadata for revision 0e3b6e9a9e1c2b728fcedaadc65c4450 for type local from instance 192.168.99.230:20001, dubbo version: 3.1.5, current host: 10.10.1.19, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. 
   
   java.lang.NullPointerException: null
   	at org.apache.dubbo.rpc.RpcServiceContext.isConsumerSide(RpcServiceContext.java:144) ~[dubbo-3.1.5.jar:3.1.5]
   	at com.example.demo.DemoFilter.invoke(DemoFilter.java:18) ~[classes/:na]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:327) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:56) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.metadata.MetadataServiceDubboProxy2.getMetadataInfo(MetadataServiceDubboProxy2.java) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata(MetadataUtils.java:173) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.AbstractServiceDiscovery.getRemoteMetadata(AbstractServiceDiscovery.java:228) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$doOnEvent$2(ServiceInstancesChangedListener.java:159) [dubbo-3.1.5.jar:3.1.5]
   	at java.util.Optional.orElseGet(Optional.java:267) ~[na:1.8.0_161]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:159) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:113) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:317) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:217) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:185) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:88) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:183) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:127) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:573) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:437) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:245) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:60) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:247) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:538) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:508) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:490) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:79) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:614) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:448) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:232) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:131) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:396) ~[dubbo-3.1.5.jar:3.1.5]
   	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707) ~[na:1.8.0_161]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:376) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:167) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:113) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:102) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:47) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.9.jar:2.7.9]
   	at com.example.demo.DemoApplication.main(DemoApplication.java:16) ~[classes/:na]
   
   2023-03-04 22:00:15.783  INFO 13496 --- [lientWorker-6-1] o.a.d.r.t.netty4.NettyClientHandler      :  [DUBBO] The connection of /10.10.1.19:53216 -> /192.168.99.230:20001 is disconnected., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:16.779  INFO 13496 --- [           main] org.apache.dubbo.rpc.model.ModuleModel   :  [DUBBO] Dynamically registering consumer model bessky-deploy-main/org.apache.dubbo.metadata.MetadataService:1.0.0 into model Dubbo Module[1.1.0], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:16.784  INFO 13496 --- [lientWorker-6-2] o.a.d.r.t.netty4.NettyClientHandler      :  [DUBBO] The connection of /10.10.1.19:53217 -> /192.168.99.230:20001 is established., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:16.784  INFO 13496 --- [           main] o.a.d.remoting.transport.AbstractClient  :  [DUBBO] Successfully connect to server /192.168.99.230:20001 from NettyClient 10.10.1.19 using dubbo version 3.1.5, channel is NettyChannel [channel=[id: 0x4d69e3ea, L:/10.10.1.19:53217 - R:/192.168.99.230:20001]], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:16.784  INFO 13496 --- [           main] o.a.d.remoting.transport.AbstractClient  :  [DUBBO] Start NettyClient /10.10.1.19 connect to the server /192.168.99.230:20001, dubbo version: 3.1.5, current host: 10.10.1.19
   dubbo://192.168.99.230:20001/org.apache.dubbo.metadata.MetadataService?connections=1&corethreads=2&dubbo=2.0.2&group=bessky-deploy-main&port=20001&protocol=dubbo&release=3.1.1&retries=0&side=provider&threadpool=cached&threads=100&timeout=120000&version=1.0.0
   2023-03-04 22:00:16.784  INFO 13496 --- [           main] o.a.d.r.transport.netty4.NettyChannel    :  [DUBBO] Close netty channel [id: 0x4d69e3ea, L:/10.10.1.19:53217 - R:/192.168.99.230:20001], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:16.785  INFO 13496 --- [lientWorker-6-2] o.a.d.r.t.netty4.NettyClientHandler      :  [DUBBO] The connection of /10.10.1.19:53217 -> /192.168.99.230:20001 is disconnected., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:16.785 ERROR 13496 --- [           main] o.a.d.r.client.metadata.MetadataUtils    :  [DUBBO] Failed to get app metadata for revision 0e3b6e9a9e1c2b728fcedaadc65c4450 for type local from instance 192.168.99.230:20001, dubbo version: 3.1.5, current host: 10.10.1.19, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. 
   
   java.lang.NullPointerException: null
   	at org.apache.dubbo.rpc.RpcServiceContext.isConsumerSide(RpcServiceContext.java:144) ~[dubbo-3.1.5.jar:3.1.5]
   	at com.example.demo.DemoFilter.invoke(DemoFilter.java:18) ~[classes/:na]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:327) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:56) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.metadata.MetadataServiceDubboProxy2.getMetadataInfo(MetadataServiceDubboProxy2.java) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata(MetadataUtils.java:173) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.AbstractServiceDiscovery.getRemoteMetadata(AbstractServiceDiscovery.java:228) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$doOnEvent$2(ServiceInstancesChangedListener.java:159) [dubbo-3.1.5.jar:3.1.5]
   	at java.util.Optional.orElseGet(Optional.java:267) ~[na:1.8.0_161]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:159) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:113) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:317) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:217) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:185) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:88) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:183) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:127) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:573) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:437) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:245) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:60) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:247) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:538) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:508) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:490) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:79) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:614) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:448) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:232) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:131) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:396) ~[dubbo-3.1.5.jar:3.1.5]
   	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707) ~[na:1.8.0_161]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:376) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:167) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:113) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:102) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:47) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.9.jar:2.7.9]
   	at com.example.demo.DemoApplication.main(DemoApplication.java:16) ~[classes/:na]
   
   2023-03-04 22:00:17.785  INFO 13496 --- [           main] org.apache.dubbo.rpc.model.ModuleModel   :  [DUBBO] Dynamically registering consumer model bessky-deploy-main/org.apache.dubbo.metadata.MetadataService:1.0.0 into model Dubbo Module[1.1.0], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:17.792  INFO 13496 --- [lientWorker-6-3] o.a.d.r.t.netty4.NettyClientHandler      :  [DUBBO] The connection of /10.10.1.19:53220 -> /192.168.99.230:20001 is established., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:17.792  INFO 13496 --- [           main] o.a.d.remoting.transport.AbstractClient  :  [DUBBO] Successfully connect to server /192.168.99.230:20001 from NettyClient 10.10.1.19 using dubbo version 3.1.5, channel is NettyChannel [channel=[id: 0x425ebdcb, L:/10.10.1.19:53220 - R:/192.168.99.230:20001]], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:17.792  INFO 13496 --- [           main] o.a.d.remoting.transport.AbstractClient  :  [DUBBO] Start NettyClient /10.10.1.19 connect to the server /192.168.99.230:20001, dubbo version: 3.1.5, current host: 10.10.1.19
   dubbo://192.168.99.230:20001/org.apache.dubbo.metadata.MetadataService?connections=1&corethreads=2&dubbo=2.0.2&group=bessky-deploy-main&port=20001&protocol=dubbo&release=3.1.1&retries=0&side=provider&threadpool=cached&threads=100&timeout=120000&version=1.0.0
   2023-03-04 22:00:17.792  INFO 13496 --- [           main] o.a.d.r.transport.netty4.NettyChannel    :  [DUBBO] Close netty channel [id: 0x425ebdcb, L:/10.10.1.19:53220 - R:/192.168.99.230:20001], dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:17.793  INFO 13496 --- [lientWorker-6-3] o.a.d.r.t.netty4.NettyClientHandler      :  [DUBBO] The connection of /10.10.1.19:53220 -> /192.168.99.230:20001 is disconnected., dubbo version: 3.1.5, current host: 10.10.1.19
   2023-03-04 22:00:17.794 ERROR 13496 --- [           main] o.a.d.r.client.metadata.MetadataUtils    :  [DUBBO] Failed to get app metadata for revision 0e3b6e9a9e1c2b728fcedaadc65c4450 for type local from instance 192.168.99.230:20001, dubbo version: 3.1.5, current host: 10.10.1.19, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. 
   
   java.lang.NullPointerException: null
   	at org.apache.dubbo.rpc.RpcServiceContext.isConsumerSide(RpcServiceContext.java:144) ~[dubbo-3.1.5.jar:3.1.5]
   	at com.example.demo.DemoFilter.invoke(DemoFilter.java:18) ~[classes/:na]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:327) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:56) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.metadata.MetadataServiceDubboProxy2.getMetadataInfo(MetadataServiceDubboProxy2.java) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata(MetadataUtils.java:173) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.AbstractServiceDiscovery.getRemoteMetadata(AbstractServiceDiscovery.java:228) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$doOnEvent$2(ServiceInstancesChangedListener.java:159) [dubbo-3.1.5.jar:3.1.5]
   	at java.util.Optional.orElseGet(Optional.java:267) ~[na:1.8.0_161]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:159) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:113) [dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:317) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:217) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:185) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:88) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:183) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:127) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:573) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:437) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:245) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:60) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:247) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:538) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:508) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:490) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:79) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:614) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:448) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:232) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:131) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:396) ~[dubbo-3.1.5.jar:3.1.5]
   	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707) ~[na:1.8.0_161]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:376) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:167) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:113) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:102) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:47) ~[dubbo-3.1.5.jar:3.1.5]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.25.jar:5.3.25]
   	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.9.jar:2.7.9]
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.9.jar:2.7.9]
   	at com.example.demo.DemoApplication.main(DemoApplication.java:16) ~[classes/:na]
   
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] liunancun commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   @AlbumenJ 这个问题在3.1版本会修复吗


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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


[GitHub] [dubbo] JoyfulAndSpeedyMan commented on issue #11716: 在Filter中调用RpcContext.getServiceContext().isConsumerSide()方法报空指针错误

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

   > > @AlbumenJ 这个问题在3.1版本会修复吗
   > 
   > 会的
   我使用的是3.1.7版本,也会抛出同样的错误
   下面是我的pom.xml中引用的依赖
   ```xml
           <dependency>
               <groupId>org.apache.dubbo</groupId>
               <artifactId>dubbo-spring-boot-starter</artifactId>
               <version>3.1.7</version>
           </dependency>
   ```
   过滤器的部分代码ChannelFilter.java
   ```java
   import com.gemantic.common.event.eventobject.RequestAccessEvent;
   import com.gemantic.common.util.TraceUtils;
   import lombok.extern.slf4j.Slf4j;
   import org.apache.commons.lang.StringUtils;
   import org.apache.dubbo.common.constants.CommonConstants;
   import org.apache.dubbo.common.extension.Activate;
   import org.apache.dubbo.rpc.*;
   import org.slf4j.MDC;
   
   import java.util.Objects;
   
   import static com.gemantic.common.constant.CommonConstant.*;
   
   @Slf4j
   @Activate(group = {CommonConstants.PROVIDER, CommonConstants.CONSUMER}, order = -999)
   public class ChannelFilter implements Filter {
   
       @Override
       public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
           boolean isConsumerSide = false;
           try {
               isConsumerSide = RpcContext.getServiceContext().isConsumerSide();
               beforeInvoke(isConsumerSide);
               return invoker.invoke(invocation);
           } finally {
               afterInvoke(isConsumerSide);
           }
       }
       .......
   }
   ```
   当在客户端调用服务时,就会抛出以下堆栈信息:
   ```
   java.lang.NullPointerException: null
   	at org.apache.dubbo.rpc.RpcServiceContext.isConsumerSide(RpcServiceContext.java:144) ~[dubbo-3.1.7.jar:3.1.7]
   	at com.gemantic.common.dubbo.filter.ChannelFilter.invoke(ChannelFilter.java:34) ~[commons-core-2.3.2.58-spring-boot-2.7.9.jar:?]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:327) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:194) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:57) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.metadata.MetadataServiceDubboProxy1.getMetadataInfo(MetadataServiceDubboProxy1.java) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getRemoteMetadata(MetadataUtils.java:173) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.AbstractServiceDiscovery.getRemoteMetadata(AbstractServiceDiscovery.java:228) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$doOnEvent$2(ServiceInstancesChangedListener.java:159) ~[dubbo-3.1.7.jar:3.1.7]
   	at java.util.Optional.orElseGet(Optional.java:267) ~[?:1.8.0_221]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:159) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:113) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribeURLs(ServiceDiscoveryRegistry.java:317) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:217) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:185) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:88) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:183) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:127) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:573) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.InterfaceCompatibleRegistryProtocol.getServiceDiscoveryInvoker(InterfaceCompatibleRegistryProtocol.java:65) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:437) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToApplicationFirstInvoker(MigrationInvoker.java:245) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:60) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:247) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:538) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:508) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:490) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.protocol.ProtocolSecurityWrapper.refer(ProtocolSecurityWrapper.java:107) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:614) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:448) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:232) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:131) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:396) ~[dubbo-3.1.7.jar:3.1.7]
   	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707) ~[?:1.8.0_221]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:376) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.startSync(DefaultModuleDeployer.java:167) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:139) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:228) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.spring.ReferenceBean.getCallProxy(ReferenceBean.java:351) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.spring.ReferenceBean.access$100(ReferenceBean.java:100) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.apache.dubbo.config.spring.ReferenceBean$DubboReferenceLazyInitTargetSource.createObject(ReferenceBean.java:359) ~[dubbo-3.1.7.jar:3.1.7]
   	at org.springframework.aop.target.AbstractLazyCreationTargetSource.getTarget(AbstractLazyCreationTargetSource.java:88) ~[spring-aop-5.3.25.jar:5.3.25]
   	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:195) ~[spring-aop-5.3.25.jar:5.3.25]
   	at com.sun.proxy.$Proxy201.getRegionsByLevelAndStatus(Unknown Source) ~[?:?]
   	at com.gemantic.wealth.cache.RegionCache.init(RegionCache.java:31) ~[classes/:?]
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_221]
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_221]
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_221]
   	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_221]
   ```
   其中的RegionCache.java是服务调用发起的位置,这里是调用代码
   ```java
   regionService.getRegionsByLevelAndStatus(....);
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

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


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