[ 
https://issues.apache.org/jira/browse/SCB-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16401438#comment-16401438
 ] 

Willem Jiang edited comment on SCB-407 at 3/16/18 4:07 AM:
-----------------------------------------------------------

It turns out the servicecomb discovery client [remove the rest transport 
dependency|https://github.com/apache/incubator-servicecomb-java-chassis/commit/7052c7d4429422f215c4648be65b4d94e97a185d#diff-59f8104e53a3259b36b01cfde3992778]
 
 which leads to SimpleLoadBalanceHandler cannot find right endpoint (which 
exports as a rest endpoint) to use. The build error can be fix by adding the 
dependency of rest transport to the manager.

We need to reorganize the spring starter dependencies to let user configure the 
endpoint easily.


was (Author: njiang):
It turns out the servicecomb discovery client[ remove the rest transport 
dependency|https://github.com/apache/incubator-servicecomb-java-chassis/commit/7052c7d4429422f215c4648be65b4d94e97a185d#diff-59f8104e53a3259b36b01cfde3992778]
 which leads to SimpleLoadBalanceHandler cannot find right endpoint (which 
exports as a rest endpoint) to use. 

We need to reorganize the spring starter dependencies to let user configure the 
endpoint easily. 

> Company Manager integration test failure 
> -----------------------------------------
>
>                 Key: SCB-407
>                 URL: https://issues.apache.org/jira/browse/SCB-407
>             Project: Apache ServiceComb
>          Issue Type: Bug
>          Components: Java-Chassis
>            Reporter: Willem Jiang
>            Assignee: Willem Jiang
>            Priority: Major
>
> When running the integration test of manager-tests in 
> [ServiceComb-Company-WorkShop 
> |https://github.com/ServiceComb/ServiceComb-Company-WorkShop]1.x branch , we 
> got the error here. 
> {code:java}
> 2018-03-16 08:58:21,997 [ERROR]
> Exception: org.apache.servicecomb.core.exception.CseException; No available 
> address found. microserviceName=doorman, version=latest, 
> discoveryGroupName=latest/
> ServiceDefinitionException Code:cse.lb.no.available.address, Message:No 
> available address found. microserviceName=doorman, version=latest, 
> discoveryGroupName=latest/
> at 
> org.apache.servicecomb.core.exception.ExceptionUtils.createCseException(ExceptionUtils.java:57)
> at 
> org.apache.servicecomb.core.exception.ExceptionUtils.lbAddressNotFound(ExceptionUtils.java:88)
> at 
> org.apache.servicecomb.core.handler.impl.SimpleLoadBalanceHandler.handle(SimpleLoadBalanceHandler.java:64)
> at org.apache.servicecomb.core.Invocation.next(Invocation.java:155)
> at 
> org.apache.servicecomb.core.handler.ShutdownHookHandler.handle(ShutdownHookHandler.java:68)
> at org.apache.servicecomb.core.Invocation.next(Invocation.java:155)
> at 
> org.apache.servicecomb.core.provider.consumer.InvokerUtils.innerSyncInvoke(InvokerUtils.java:65)
> at 
> org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest.doInvoke(CseClientHttpRequest.java:168)
> at 
> org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest.invoke(CseClientHttpRequest.java:158)
> at 
> org.apache.servicecomb.provider.springmvc.reference.CseClientHttpRequest.execute(CseClientHttpRequest.java:119)
> at 
> org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:652)
> at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:613)
> at 
> org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:407)
> at 
> org.apache.servicecomb.provider.springmvc.reference.RestTemplateWrapper.postForEntity(RestTemplateWrapper.java:130)
> at 
> org.apache.servicecomb.company.manager.AuthenticationService.validate(AuthenticationService.java:65)
> 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 
> com.netflix.hystrix.contrib.javanica.command.MethodExecutionAction.execute(MethodExecutionAction.java:116)
> at 
> com.netflix.hystrix.contrib.javanica.command.MethodExecutionAction.executeWithArgs(MethodExecutionAction.java:93)
> at 
> com.netflix.hystrix.contrib.javanica.command.MethodExecutionAction.execute(MethodExecutionAction.java:78)
> at 
> com.netflix.hystrix.contrib.javanica.command.GenericCommand$1.execute(GenericCommand.java:47)
> at 
> com.netflix.hystrix.contrib.javanica.command.AbstractHystrixCommand.process(AbstractHystrixCommand.java:145)
> at 
> com.netflix.hystrix.contrib.javanica.command.GenericCommand.run(GenericCommand.java:44)
> {code}
> Here are the log information before the exception is thrown
> {code}
> 2018-03-16 08:58:21,704 [INFO] Flipping property: 
> doorman.ribbon.ActiveConnectionsLimit to use NEXT property: 
> niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 
> 2147483647 
> com.netflix.config.ChainedDynamicProperty$ChainLink.checkAndFlip(ChainedDynamicProperty.java:115)
> 2018-03-16 08:58:21,730 [INFO] Mapped URL path [/manager/**] onto handler of 
> type [class org.springframework.cloud.netflix.zuul.web.ZuulController] 
> org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.registerHandler(AbstractUrlHandlerMapping.java:354)
> 2018-03-16 08:58:21,738 [INFO] Received request with query path: 
> /doorman/rest/path/not/exist 
> org.apache.servicecomb.company.manager.filters.AuthenticationAwareFilter.shouldFilter(AuthenticationAwareFilter.java:68)
> 2018-03-16 08:58:21,797 [INFO] Validating token 
> eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJqb3JkYW4iLCJleHAiOjE1MjEyNDgzMDJ9.Y27L6MuVjF04nI40uGYbD7q4fliibh3ZM8wD40KC9hhLfdLG4sWjgCULAsDMedElooM_YnIKxWaHKXGxVyk3UQ
>  
> org.apache.servicecomb.company.manager.AuthenticationService.validate(AuthenticationService.java:64)
> 2018-03-16 08:58:21,799 [INFO] create MicroserviceVersionRule, appId=company, 
> microserviceName=doorman, versionRule=latest. 
> org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.createAndInitMicroserviceVersionRule(MicroserviceVersions.java:185)
> 2018-03-16 08:58:21,800 [INFO] add microserviceVersion, appId=company, 
> microserviceName=doorman, version=0.0.1, versionRule=latest. 
> org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersionRule.addMicroserviceVersion(MicroserviceVersionRule.java:80)
> 2018-03-16 08:58:21,800 [INFO] set instances, appId=company, 
> microserviceName=doorman, versionRule=latest, 
> instanceId=19e6f52c28b511e8915b0242ac110003, 
> endpoints=[rest://localhost:8080/]. 
> org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersionRule.lambda$setInstances$1(MicroserviceVersionRule.java:146)
> 2018-03-16 08:58:21,805 [INFO] load schema from service center, 
> microservice=company:doorman:0.0.1, schemaId=authenticationRestEndpoint, 
> result=true 
> org.apache.servicecomb.core.definition.schema.ConsumerSchemaFactory.loadSwagger(ConsumerSchemaFactory.java:145)
> 2018-03-16 08:58:21,872 [INFO] register schema 
> company/doorman/authenticationRestEndpoint 
> org.apache.servicecomb.core.definition.loader.SchemaLoader.registerSchema(SchemaLoader.java:91)
> 2018-03-16 08:58:21,923 [INFO] generate 
> org.apache.servicecomb.company.auth.endpoint.rest.Token in classLoader 
> TomcatEmbeddedWebappClassLoader
>   context: ROOT
>   delegate: true
> ----------> Parent Classloader:
> sun.misc.Launcher$AppClassLoader@4aa298b7
> . 
> org.apache.servicecomb.common.javassist.JavassistUtils.createClass(JavassistUtils.java:207)
> 2018-03-16 08:58:21,959 [INFO] generate 
> cse.gen.company.doorman.authenticationRestEndpoint.AuthenticationControllerIntf
>  in classLoader TomcatEmbeddedWebappClassLoader
>   context: ROOT
>   delegate: true
> ----------> Parent Classloader:
> sun.misc.Launcher$AppClassLoader@4aa298b7
> . 
> org.apache.servicecomb.common.javassist.JavassistUtils.createClass(JavassistUtils.java:207)
> 2018-03-16 08:58:21,966 [INFO] found DiscoveryFilter: 
> org.apache.servicecomb.serviceregistry.discovery.DiscoveryTree.sort(DiscoveryTree.java:53)
> 2018-03-16 08:58:21,967 [INFO] DiscoveryFilter 
> org.apache.servicecomb.core.filter.EndpointDiscoveryFilter. 
> org.apache.servicecomb.serviceregistry.discovery.DiscoveryTree.sort(DiscoveryTree.java:55)
> 2018-03-16 08:58:21,980 [INFO] add schema to service paths. 
> company:doorman:authenticationRestEndpoint. 
> org.apache.servicecomb.common.rest.locator.ServicePathManager.addSchema(ServicePathManager.java:91)
> 2018-03-16 08:58:21,981 [INFO] Found schema ids from service center, 
> company:doorman:latest:[authenticationRestEndpoint] 
> org.apache.servicecomb.core.definition.schema.ConsumerSchemaFactory.getOrCreateMicroserviceMeta(ConsumerSchemaFactory.java:102)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to