apache / apache/servicecomb-java-chassis
某个服务无法调用其他服务
- Vorherrschende Sprache
- Java
- Sterne
- 1.9k
- Forks
- 814
- Ø Merge
- 8 T. 23 Std.
- Gemergte PRs (30 T.)
- 1
Beschreibung
使用 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)
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Start at SchemaLoader.registerSchema and trace the consumer-schema path through ConsumerSchemaFactory, SchemaMeta, SwaggerToClassGenerator, MethodConfig, and CtType. Reproduce the failure with cse-solution-service-engine 2.3.63 and inspect why registerSchema reaches the NullPointerException during service discovery. Done means the cause is identified and a verified fix or regression test is available.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- backend, distributed-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100