apache / apache/servicecomb-java-chassis
RPC接口调用出现类无法找到:Could not initialize class rx.Observable
- Lenguaje dominante
- Java
- Estrellas
- 1.9k
- Forks
- 814
- Merge medio
- 8 d 23 h
- PR fusionados (30 d)
- 1
Descripción
我尝试通过rpc调用时出现如下异常,不知道rx.Observable是什么,请问这是哪里缺少了东西么?重启微服务可规避,目前已出现两次,均出现在补丁升级后。
2023-03-16 13:26:18,953Z | ERROR | pcs-182 | InvokerUtils | 46 - ioei-rpcservice - 2023.315.941.44 | |||protocol:null||org.apache.servicecomb.core.provider.consumer.InvokerUtils.innerSyncInvoke(InvokerUtils.java:80) | Msg: invoke failed, IoVehicle.apiAuthQueryService.queryApiCertCNameAuthStatus
java.lang.NoClassDefFoundError: Could not initialize class rx.Observable
at com.netflix.loadbalancer.reactive.LoadBalancerCommand.selectServer(LoadBalancerCommand.java:180) ~[46:ioei-rpcservice:2023.315.941.44]
at com.netflix.loadbalancer.reactive.LoadBalancerCommand.submit(LoadBalancerCommand.java:276) ~[46:ioei-rpcservice:2023.315.941.44]
at org.apache.servicecomb.loadbalance.LoadbalanceHandler.sendWithRetry(LoadbalanceHandler.java:303) ~[46:ioei-rpcservice:2023.315.941.44]
at org.apache.servicecomb.loadbalance.LoadbalanceHandler.handle(LoadbalanceHandler.java:184) ~[46:ioei-rpcservice:2023.315.941.44]
at org.apache.servicecomb.core.Invocation.next(Invocation.java:151) ~[46:ioei-rpcservice:2023.315.941.44]
at org.apache.servicecomb.core.provider.consumer.InvokerUtils.innerSyncInvoke(InvokerUtils.java:72) ~[46:ioei-rpcservice:2023.315.941.44]
at org.apache.servicecomb.provider.pojo.Invoker.syncInvoke(Invoker.java:161) ~[46:ioei-rpcservice:2023.315.941.44]
at org.apache.servicecomb.provider.pojo.Invoker.invoke(Invoker.java:157) ~[46:ioei-rpcservice:2023.315.941.44]
at com.xxx.jsf.invocation.PaaSInvoker.invoke(PaaSInvoker.java:21) ~[46:ioei-rpcservice:2023.315.941.44]
at com.sun.proxy.$Proxy311.queryApiCertCNameAuthStatus(Unknown Source) ~[46:ioei-rpcservice:2023.315.941.44]
at com.xxx.rpcservice.iovehicle.VehicleApiAuthQueryService.queryApiCertCNameAuthStatus(VehicleApiAuthQueryService.java:34) ~[46:ioei-rpcservice:2023.315.941.44]
at com.xxxx.vehicle.service.rpc.VehicleAuthService.isValidCertCname(VehicleAuthService.java:28) ~[?:?]
at com.xxxx.plugin.service.activation.process.ChoiceProcessor.process(ChoiceProcessor.java:92) ~[?:?]
at org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63) ~[?:?]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) ~[?:?]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) ~[?:?]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) ~[?:?]
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:113) ~[?:?]
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:84) ~[?:?]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) ~[?:?]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) ~[?:?]
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:76) ~[?:?]
at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:186) ~[?:?]
at org.apache.camel.processor.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:86) ~[?:?]
at org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:541) ~[?:?]
at org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:506) ~[?:?]
at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:369) ~[?:?]
at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:506) ~[?:?]
at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:213) ~[?:?]
at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:139) ~[?:?]
at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:125) ~[?:?]
at com.xxx.service.common.cxf.CamelService$1.lambda$null$0(CamelService.java:75) ~[?:?]
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comience con el fallo en rx.Observable y los frames de la pila citados LoadBalancerCommand.selectServer, LoadbalanceHandler.sendWithRetry e InvokerUtils.innerSyncInvoke. Compruebe cómo la actualización del parche cambia las dependencias de ejecución y la inicialización de clases del servicio RPC. Se considera terminado cuando la llamada RPC indicada ya no falla con NoClassDefFoundError después de una actualización, y el fallo está cubierto por una prueba reproducible si el proyecto proporciona una.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- backend, distributed-systems
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100