mirror of
https://github.com/apache/rocketmq.git
synced 2026-10-29 17:25:35 +08:00
[ISSUE #3949] Add error handle when telemetry
This commit is contained in:
@@ -48,6 +48,7 @@ import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.RejectedExecutionHandler;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.apache.rocketmq.common.constant.LoggerName;
|
||||
import org.apache.rocketmq.common.thread.ThreadPoolMonitor;
|
||||
import org.apache.rocketmq.proxy.common.StartAndShutdown;
|
||||
import org.apache.rocketmq.proxy.config.ConfigurationManager;
|
||||
@@ -55,8 +56,11 @@ import org.apache.rocketmq.proxy.config.ProxyConfig;
|
||||
import org.apache.rocketmq.proxy.grpc.v2.common.ResponseBuilder;
|
||||
import org.apache.rocketmq.proxy.grpc.v2.common.ResponseWriter;
|
||||
import org.apache.rocketmq.proxy.processor.MessagingProcessor;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class GrpcMessagingApplication extends MessagingServiceGrpc.MessagingServiceImplBase implements StartAndShutdown {
|
||||
private final static Logger log = LoggerFactory.getLogger(LoggerName.PROXY_LOGGER_NAME);
|
||||
|
||||
private final GrpcMessingActivity grpcMessingActivity;
|
||||
|
||||
@@ -345,6 +349,7 @@ public class GrpcMessagingApplication extends MessagingServiceGrpc.MessagingServ
|
||||
|
||||
@Override
|
||||
public void onError(Throwable t) {
|
||||
log.error("telemetry onError", t);
|
||||
responseTelemetryCommand.onError(t);
|
||||
}
|
||||
|
||||
|
||||
@@ -206,19 +206,25 @@ public class ClientActivity extends AbstractMessingActivity {
|
||||
return new StreamObserver<TelemetryCommand>() {
|
||||
@Override
|
||||
public void onNext(TelemetryCommand request) {
|
||||
switch (request.getCommandCase()) {
|
||||
case SETTINGS: {
|
||||
responseObserver.onNext(processClientSettings(ctx, request, responseObserver));
|
||||
break;
|
||||
}
|
||||
case THREAD_STACK_TRACE: {
|
||||
reportThreadStackTrace(ctx, request.getStatus(), request.getThreadStackTrace());
|
||||
break;
|
||||
}
|
||||
case VERIFY_MESSAGE_RESULT: {
|
||||
reportVerifyMessageResult(ctx, request.getStatus(), request.getVerifyMessageResult());
|
||||
break;
|
||||
try {
|
||||
switch (request.getCommandCase()) {
|
||||
case SETTINGS: {
|
||||
responseObserver.onNext(processClientSettings(ctx, request, responseObserver));
|
||||
break;
|
||||
}
|
||||
case THREAD_STACK_TRACE: {
|
||||
reportThreadStackTrace(ctx, request.getStatus(), request.getThreadStackTrace());
|
||||
break;
|
||||
}
|
||||
case VERIFY_MESSAGE_RESULT: {
|
||||
reportVerifyMessageResult(ctx, request.getStatus(), request.getVerifyMessageResult());
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
responseObserver.onNext(TelemetryCommand.newBuilder()
|
||||
.setStatus(ResponseBuilder.buildStatus(e))
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user