apache / apache/servicecomb-java-chassis
某个服务无法调用其他服务
- Lingua principale
- Java
- Stelle
- 1.9k
- Fork
- 814
- Merge medio
- 8g 23h
- PR unite (30g)
- 1
Descrizione
使用 cse-solution-service-engine 2.3.63 的版本
某个服务调用其他服务时会出现这样的报错,但是其他服务正常调用时都不会走到这个断点里面
为什么这个服务调用时会触发registerSchema呢
[E]-[]-[Service Center Task [java.util.concurrent.ThreadPoolExecutor$Worker@5280cc80[State = -1, empty queue][283]]][org.apache.servicecomb.core.definition.SchemaMeta]Unhandled exception to service agency-web schema ces
[E]-[]-[Service Center Task [java.util.concurrent.ThreadPoolExecutor$Worker@5280cc80[State = -1, empty queue][283]]][org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions]Failed to setInstances, appId=nontax, microserviceName=agency-web. java.lang.NullPointerException
at org.apache.servicecomb.common.javassist.CtType.(CtType.java:52)
at org.apache.servicecomb.common.javassist.MethodConfig.setResult(MethodConfig.java:64)
at org.apache.servicecomb.swagger.converter.SwaggerToClassGenerator.convertToInterface(SwaggerToClassGenerator.java:222)
at org.apache.servicecomb.swagger.converter.SwaggerToClassGenerator.convert(SwaggerToClassGenerator.java:144)
at org.apache.servicecomb.core.definition.SchemaMeta.(SchemaMeta.java:70)
at org.apache.servicecomb.core.definition.loader.SchemaLoader.registerSchema(SchemaLoader.java:85)
at org.apache.servicecomb.core.definition.schema.ConsumerSchemaFactory.createSchema(ConsumerSchemaFactory.java:61)
at org.apache.servicecomb.core.definition.schema.ConsumerSchemaFactory.createSchema(ConsumerSchemaFactory.java:33)
at org.apache.servicecomb.core.definition.schema.AbstractSchemaFactory.getOrCreateSchema(AbstractSchemaFactory.java:58)
at org.apache.servicecomb.core.definition.schema.ConsumerSchemaFactory.createConsumerSchema(ConsumerSchemaFactory.java:48)
at org.apache.servicecomb.core.definition.MicroserviceVersionMeta.(MicroserviceVersionMeta.java:45)
at org.apache.servicecomb.core.definition.MicroserviceVersionMetaFactory.create(MicroserviceVersionMetaFactory.java:38)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.lambda$setInstances$0(MicroserviceVersions.java:184)
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:183)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.safeSetInstances(MicroserviceVersions.java:163)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.pullInstances(MicroserviceVersions.java:158)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions.submitPull(MicroserviceVersions.java:130)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceManager.refreshInstances(MicroserviceManager.java:96)
at org.apache.servicecomb.serviceregistry.consumer.MicroserviceManager.periodicPull(MicroserviceManager.java:86)
at org.apache.servicecomb.foundation.common.event.SimpleSubscriber.syncDispatch(SimpleSubscriber.java:85)
at org.apache.servicecomb.foundation.common.event.SimpleSubscriber.dispatchEvent(SimpleSubscriber.java:77)
at org.apache.servicecomb.foundation.common.event.SimpleEventBus.post(SimpleEventBus.java:72)
at org.apache.servicecomb.serviceregistry.registry.RemoteServiceRegistry.lambda$run$2(RemoteServiceRegistry.java:94)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
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)
at org.apache.servicecomb.serviceregistry.registry.RemoteServiceRegistry$1.run(RemoteServiceRegistry.java:62)
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Parti da SchemaLoader.registerSchema e segui il percorso dello schema del consumer attraverso ConsumerSchemaFactory, SchemaMeta, SwaggerToClassGenerator, MethodConfig e CtType. Riproduci il problema con cse-solution-service-engine 2.3.63 e verifica perché registerSchema raggiunge la NullPointerException durante la service discovery. Il lavoro è completato quando la causa è stata identificata ed è disponibile una correzione verificata o un regression test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- backend, distributed-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100