Fix errors not handled when closed

This commit is contained in:
Andrea Cavalli 2024-10-02 18:09:08 +02:00
parent b4c610be08
commit 60474f2a75

View File

@ -772,15 +772,20 @@ public class GrpcServer extends Server {
if (ex instanceof CompletionException exx) { if (ex instanceof CompletionException exx) {
handleError(responseObserver, exx.getCause()); handleError(responseObserver, exx.getCause());
} else { } else {
if (ex instanceof RocksDBException e) { var serverResponseObserver = ((ServerCallStreamObserver<?>) responseObserver);
responseObserver.onError(Status.INTERNAL if (!serverResponseObserver.isCancelled()) {
.withDescription(e.getLocalizedMessage()) if (ex instanceof RocksDBException e) {
.withCause(e) responseObserver.onError(Status.INTERNAL
.asException()); .withDescription(e.getLocalizedMessage())
.withCause(e)
.asException());
} else {
responseObserver.onError(Status.INTERNAL
.withCause(ex)
.asException());
}
} else { } else {
responseObserver.onError(Status.INTERNAL LOG.error("Unexpected error", ex);
.withCause(ex)
.asException());
} }
} }
} }