Giter VIP home page Giter VIP logo

dubbo-servicecomb's Issues

dubbo治理使用contain匹配策略,报错Internal server error: java.lang.NullPointerException

[21/01/21 17:19:02:545 CST] qtp909278444-21 ERROR rpc.RpcContext:
java.lang.NullPointerException
at org.apache.servicecomb.governance.marker.RequestProcessor.operatorMatch(RequestProcessor.java:58)
at org.apache.servicecomb.governance.marker.RequestProcessor.match(RequestProcessor.java:37)
at org.apache.servicecomb.governance.marker.TrafficMarker.lambda$checkMatch$0(TrafficMarker.java:56)
at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449)
at org.apache.servicecomb.governance.marker.TrafficMarker.checkMatch(TrafficMarker.java:55)
at org.apache.servicecomb.governance.service.MatchersServiceImpl.checkMatch(MatchersServiceImpl.java:47)
at org.apache.servicecomb.governance.MatchersManager.match(MatchersManager.java:50)
at org.apache.servicecomb.governance.handler.RateLimitingHandler.matchPolicy(RateLimitingHandler.java:47)
at org.apache.servicecomb.governance.handler.RateLimitingHandler.matchPolicy(RateLimitingHandler.java:33)
at org.apache.servicecomb.governance.handler.AbstractGovernanceHandler.getActuator(AbstractGovernanceHandler.java:45)
at com.huaweicloud.dubbo.governance.DubboServicecombGovernanceFilter.addRateLimiting(DubboServicecombGovernanceFilter.java:154)
at com.huaweicloud.dubbo.governance.DubboServicecombGovernanceFilter.invoke(DubboServicecombGovernanceFilter.java:88)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:129)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:152)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:41)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:83)
at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:74)
at org.apache.dubbo.common.bytecode.proxy1.sayHello(proxy1.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:139)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at org.apache.dubbo.rpc.protocol.rest.DubboHttpProtocolServer$RestHandler.handle(DubboHttpProtocolServer.java:89)
at org.apache.dubbo.remoting.http.servlet.DispatcherServlet.service(DispatcherServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:531)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)
at java.lang.Thread.run(Thread.java:748)

dubbo-serviceComb使用带https的注册中心和配置中心的CSE时,报错

使用官方的dubbo集成CSE的demo,CSE的注册中心和配置中心替换成https的地址时,报错。日志如下:

13/12/21 18:59:22:819 CST] main INFO config.ServiceConfig: [DUBBO] No valid ip found from environment, try to find valid host from DNS., dubbo version: 2.7.8, current host: 172.16.1.252
[13/12/21 18:59:22:866 CST] main INFO config.ServiceConfig: [DUBBO] Export dubbo service com.huaweicloud.samples.basic.ProviderService to local registry url : injvm://127.0.0.1/com.huaweicloud.samples.basic.ProviderService?anyhost=true&application=price-provider&bind.ip=172.16.1.252&bind.port=8082&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.huaweicloud.samples.basic.ProviderService&methods=sayHello&pid=5196&qos.port=22222&release=2.7.8&side=provider&timestamp=1639393162801, dubbo version: 2.7.8, current host: 172.16.1.252
[13/12/21 18:59:22:867 CST] main INFO config.ServiceConfig: [DUBBO] Register dubbo service com.huaweicloud.samples.basic.ProviderService url dubbo://172.16.1.252:8082/com.huaweicloud.samples.basic.ProviderService?anyhost=true&application=price-provider&bind.ip=172.16.1.252&bind.port=8082&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.huaweicloud.samples.basic.ProviderService&methods=sayHello&pid=5196&qos.port=22222&release=2.7.8&side=provider&timestamp=1639393162801 to registry registry://192.168.0.150:30100,https::9090/192.168.0.30:30100?application=price-provider&dubbo=2.0.2&pid=5196&qos.port=22222&registry=https&release=2.7.8&timestamp=1639393162799, dubbo version: 2.7.8, current host: 172.16.1.252
[13/12/21 18:59:23:081 CST] main INFO transport.AbstractServer: [DUBBO] Start NettyServer bind /0.0.0.0:8082, export /172.16.1.252:8082, dubbo version: 2.7.8, current host: 172.16.1.252
2021-12-13 18:59:23.097 INFO 5196 --- [ main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-12-13 18:59:23.108 ERROR 5196 --- [ main] o.s.boot.SpringApplication : Application run failed

java.lang.IllegalStateException: No such extension org.apache.dubbo.registry.RegistryFactory by name https
at org.apache.dubbo.common.extension.ExtensionLoader.findException(ExtensionLoader.java:623) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:630) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:429) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:413) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.registry.RegistryFactory$Adaptive.getRegistry(RegistryFactory$Adaptive.java) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.registry.integration.RegistryProtocol.getRegistry(RegistryProtocol.java:354) ~[dubbo-registry-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.registry.integration.RegistryProtocol.export(RegistryProtocol.java:208) ~[dubbo-registry-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.export(ProtocolListenerWrapper.java:62) ~[dubbo-rpc-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.export(ProtocolFilterWrapper.java:153) ~[dubbo-rpc-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.rpc.Protocol$Adaptive.export(Protocol$Adaptive.java) ~[dubbo-common-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.ServiceConfig.doExportUrlsFor1Protocol(ServiceConfig.java:492) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.ServiceConfig.doExportUrls(ServiceConfig.java:325) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.ServiceConfig.doExport(ServiceConfig.java:300) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.ServiceConfig.export(ServiceConfig.java:206) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$exportServices$15(DubboBootstrap.java:1103) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at java.base/java.util.HashMap$Values.forEach(HashMap.java:976) ~[na:na]
at org.apache.dubbo.config.bootstrap.DubboBootstrap.exportServices(DubboBootstrap.java:1090) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.bootstrap.DubboBootstrap.start(DubboBootstrap.java:901) ~[dubbo-config-api-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onContextRefreshedEvent(DubboBootstrapApplicationListener.java:59) ~[dubbo-config-spring-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener.onApplicationContextEvent(DubboBootstrapApplicationListener.java:52) ~[dubbo-config-spring-2.7.8.jar:2.7.8]
at org.apache.dubbo.config.spring.context.OneTimeExecutionApplicationContextEventListener.onApplicationEvent(OneTimeExecutionApplicationContextEventListener.java:40) ~[dubbo-config-spring-2.7.8.jar:2.7.8]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:140) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at com.huaweicloud.samples.basic.ProviderApplication.main(ProviderApplication.java:30) ~[classes/:na]

[13/12/21 18:59:23:111 CST] main INFO support.AbstractRegistryFactory: [DUBBO] Close all registries [], dubbo version: 2.7.8, current host: 172.16.1.252
[13/12/21 18:59:23:111 CST] main INFO dubbo.DubboProtocol: [DUBBO] Close dubbo server: /172.16.1.252:8082

修改 maven 编译警告

[WARNING] Some problems were encountered while building the effective model for com.huaweicloud.dubbo-servicecomb:dubbo-servicecomb-clients:pom:1.1.0-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.rat:apache-rat-plugin is missing. @ com.huaweicloud.dubbo-servicecomb:dubbo-servicecomb:1.1.0-SNAPSHOT, /opt/liubao/code/dubbo-servicecomb/pom.xml, line 205, column 15

加上版本号:
0.12

ConfigCenterClient 中环境名没生效

[问题描述]

这行新建了headers的Map对象,放入了x-environment的key,和环境名的value,但在下一行请求的时候没有使用.

[建议修改]

HttpRequest httpRequest = new HttpRequest(addressManager.address() + "/configuration/items?dimensionsInfo="
          + HttpUtils.encodeURLParam(dimensionsInfo) + "&revision=" + request.getRevision(), null, null,
          HttpRequest.GET);

应该把这行的第二个参数null改成headers

@Value注解有默认值的情况下,配置中心不生效

问题描述:
20201029-102958(eSpace)
@value注解中,形如@value("${xxx:defaultValue}")的情况,配置中心无法覆盖defaultValue的值,导致属性最后的值是defaultValue

出现的版本号:
dubbo-servicecomb config 1.3.1

可能的原因:
spring-projects/spring-framework#14623
dubbo-servicecomb-config-center中ConfigurationSpringInitializer继承了PropertyPlaceholderConfigurer ,spring可能不支持多个PropertyPlaceholderConfigurer

Class path contains multiple SLF4J bindings.

Running applications in integration-tests, will get the following warning:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/repo/ch/qos/logback/logback-classic/1.2.2/logback-classic-1.2.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/repo/org/slf4j/slf4j-log4j12/1.7.26/slf4j-log4j12-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

CSE中服务动态配置不带版本号情况下无效

服务动态配置中不带版本号,比如xxx@discovery,而服务本身是强制带版本号(版本号为空的话是1.0.0.0),比如xxx@discovery#1.0.0 会导致配置失效

CSE中作用域:hsa-template-consumer@discovery


这行中request.getServiceName()获取到的serviceName不带@和#,会导致匹配失效。

DEBUG截图如下:
image-20201021161608953

查阅了spring-cloud-huawei的源码
https://github.com/huaweicloud/spring-cloud-huawei/blob/1433a8f7d020bd0d743a732dc7b6c6084c0a89b6/spring-cloud-huawei-config/src/main/java/com/huaweicloud/config/client/ConfigCenterClient.java#L63
对CSE配置中不带版本号的情况已进行处理

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.