一、operation with url /rest/cbc/cbcbianalysisservice/v1/applications/, method GET is duplicated.
这个错误一般发生在development环境。 在development情况下,CSE会检查契约是否有变化,有变化会覆盖、或者新增schema信息,但是删除的schema不会从服务中心删除。 当用户将Schema重命名,而且没有修改版本号,没有清理服务中心老版本历史数据的情况下就会可能出现这个异常。
在production环境(默认),不会出现这个问题,因为只要契约变化,production环境服务启动就会失败,不会将错误遗漏到运行环节。
2018-11-26 08:27:20,530 [ERROR] [transport-vert.x-eventloop-thread-15] [org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.safeSetInstances(MicroserviceVersions.java:163)] Failed to setInstances, appId=dev_alpha_auto, microserviceName=CBCMockBIAnalysisService.
org.apache.servicecomb.foundation.common.exceptions.ServiceCombException: operation with url /rest/cbc/cbcbianalysisservice/v1/applications/, method GET is duplicated.
at org.apache.servicecomb.common.rest.locator.MicroservicePaths.addStaticPathResource(MicroservicePaths.java:81)
at org.apache.servicecomb.common.rest.locator.MicroservicePaths.addResource(MicroservicePaths.java:57)
at org.apache.servicecomb.common.rest.locator.ServicePathManager.addResource(ServicePathManager.java:121)
at org.apache.servicecomb.common.rest.locator.ServicePathManager.addSchema(ServicePathManager.java:88)
at org.apache.servicecomb.common.rest.RestEngineSchemaListener.onSchemaLoaded(RestEngineSchemaListener.java:54)
at org.apache.servicecomb.core.definition.loader.SchemaListenerManager.notifySchemaListener(SchemaListenerManager.java:59)
at org.apache.servicecomb.core.definition.loader.SchemaListenerManager.notifySchemaListener(SchemaListenerManager.java:48)
at org.apache.servicecomb.core.definition.MicroserviceVersionMeta.<init>(MicroserviceVersionMeta.java:46)
at org.apache.servicecomb.core.definition.MicroserviceVersionMetaFactory.create(MicroserviceVersionMetaFactory.java:38)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.lambda$setInstances$0(MicroserviceVersions.java:182)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
at org.apache.servicecomb.foundation.common.concurrent.ConcurrentHashMapEx.computeIfAbsent(ConcurrentHashMapEx.java:56)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.setInstances(MicroserviceVersions.java:180)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.safeSetInstances(MicroserviceVersions.java:160)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.pullInstances(MicroserviceVersions.java:155)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.submitPull(MicroserviceVersions.java:127)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceManager.lambda$getOrCreateMicroserviceVersions$0(MicroserviceManager.java:55)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Concu