Process crashes when the gRPC invocation is cancelled by the invoker
Closed this issue · 0 comments
fbiville commented
Reproduced with processor @ 5884ec5 (master
at the time).
Tweaked the Node invoker to cancel the invocation as soon as a signal is received.
Result:
Connected to localhost:8081, after 599 ms
Exception in thread "main" io.grpc.StatusRuntimeException: UNKNOWN: Invoker: Unexpected Error: oopsie
at io.grpc.Status.asRuntimeException(Status.java:533)
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Assembly trace from producer [reactor.core.publisher.FluxConcatMap] :
reactor.core.publisher.Flux.concatMap(Flux.java:3622)
io.projectriff.processor.Processor.lambda$run$8(Processor.java:266)
Error has been observed at the following site(s):
|_ Flux.concatMap ⇢ at io.projectriff.processor.Processor.lambda$run$8(Processor.java:266)
|_ Flux.concatMap ⇢ at io.projectriff.processor.Processor.run(Processor.java:265)
Stack trace:
at io.grpc.Status.asRuntimeException(Status.java:533)
at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:449)
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:426)
at io.grpc.internal.ClientCallImpl.access$500(ClientCallImpl.java:66)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:689)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$900(ClientCallImpl.java:577)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:751)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:740)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Suppressed: java.lang.Exception: #block terminated with an error
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99)
at reactor.core.publisher.Flux.blockLast(Flux.java:2483)
at io.projectriff.processor.Processor.run(Processor.java:273)
at io.projectriff.processor.Processor.main(Processor.java:181)
Process finished with exit code 1