diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteServiceHandler.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteServiceHandler.java index 17d546e69ad2cd5c53fd4b2f05fb16314ef20e63..f8deaa20fdfb8616a32003a832f4848665ec306e 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteServiceHandler.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteServiceHandler.java @@ -93,10 +93,10 @@ public class RemoteServiceHandler extends RemoteServiceGrpc.RemoteServiceImplBas try { RemoteHandleWorker handleWorker = workerInstanceGetter.get(nextWorkerName); - AbstractWorker nextWorker = handleWorker.getWorker(); - StreamData streamData = handleWorker.getStreamDataClass().newInstance(); - streamData.deserialize(remoteData); - if (nextWorker != null) { + if (handleWorker != null) { + AbstractWorker nextWorker = handleWorker.getWorker(); + StreamData streamData = handleWorker.getStreamDataClass().newInstance(); + streamData.deserialize(remoteData); nextWorker.in(streamData); } else { remoteInTargetNotFoundCounter.inc();