servicecomb-java-chassis icon indicating copy to clipboard operation
servicecomb-java-chassis copied to clipboard

在org.apache.servicecomb.common.rest.RestEngineSchemaListener注册之前 kafka消费消息调用接口,导致后续调用该接口都报空指针异常

Open Nick-The-Uncharted opened this issue 1 year ago • 2 comments

2022-07-28 14:36:45.020|[]|mock-thread|WARN |SCBEngine.java:513|The request is rejected. Cannot process the request due to STATUS = STARTING
2022-07-28 14:36:45.020|[]|mock-thread|WARN |VehicleTaskEndListener.java:64|clear busyTag of [335157342402481152] failed
2022-07-28 14:36:45.215|[]|mock-thread|INFO |MicroserviceVersions.java:93|create MicroserviceVersions, appId=mockAppId, microserviceName=mockMicro.
2022-07-28 14:36:46.125|[]|main|INFO |SCBEngine.java:630|instance registry succeeds for the first time, will send AFTER_REGISTRY event.

create MicroserviceVersions日志打印早于instance registry succeeds for the first time

通过日志上下文可以确定这个日志是调用一个@RpcReference的接口触发的。但是按理currentStatus 不为UP调用接口应该会抛错。

Nick-The-Uncharted avatar Jul 29 '22 07:07 Nick-The-Uncharted

分析了一天,现象就像是 org.apache.servicecomb.provider.pojo.Invoker#invoke里SCBEngine.getInstance().ensureStatusUp() 在服务状态没有变成UP的情况下依然没有报错正常返回导致的。但是想不出原因。

Nick-The-Uncharted avatar Jul 29 '22 09:07 Nick-The-Uncharted

忽略 是我们自己调用了getOrCreateVersionedCache

Nick-The-Uncharted avatar Jul 29 '22 10:07 Nick-The-Uncharted