servicecomb-java-chassis
servicecomb-java-chassis copied to clipboard
在org.apache.servicecomb.common.rest.RestEngineSchemaListener注册之前 kafka消费消息调用接口,导致后续调用该接口都报空指针异常
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调用接口应该会抛错。
分析了一天,现象就像是 org.apache.servicecomb.provider.pojo.Invoker#invoke里SCBEngine.getInstance().ensureStatusUp()
在服务状态没有变成UP的情况下依然没有报错正常返回导致的。但是想不出原因。
忽略 是我们自己调用了getOrCreateVersionedCache