micrometer-metrics / micrometer-metrics/prometheus-rsocket-proxy
"java.util.concurrent.CancellationException: Disposed" with Docker image 1.4.0
- Dominant language
- Java
- Stars
- 77
- Forks
- 30
- PR merge metrics
- No merged PRs in 30d
Description
Hi, with docker image 1.4.0, I have this stack trace in container when I send metric from SpringBoot application :
`test-prometheus-rsocket-proxy-1 | reactor.core.Exceptions$ErrorCallbackNotImplemented: java.util.concurrent.CancellationException: Disposed
test-prometheus-rsocket-proxy-1 | Caused by: java.util.concurrent.CancellationException: Disposed
test-prometheus-rsocket-proxy-1 | at io.rsocket.internal.UnboundedProcessor.dispose(UnboundedProcessor.java:550) ~[rsocket-core-1.1.1.jar:na]
test-prometheus-rsocket-proxy-1 | at io.rsocket.transport.netty.TcpDuplexConnection.doOnClose(TcpDuplexConnection.java:67) ~[rsocket-transport-netty-1.1.1.jar:na]
test-prometheus-rsocket-proxy-1 | at io.rsocket.internal.BaseDuplexConnection.lambda$new$0(BaseDuplexConnection.java:30) ~[rsocket-core-1.1.1.jar:na]
test-prometheus-rsocket-proxy-1 | at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.runFinally(FluxDoFinally.java:163) ~[reactor-core-3.4.14.jar:3.4.14]
test-prometheus-rsocket-proxy-1 | at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onComplete(FluxDoFinally.java:146) ~[reactor-core-3.4.14.jar:3.4.14]
test-prometheus-rsocket-proxy-1 | at reactor.core.publisher.SinkEmptyMulticast$VoidInner.complete(SinkEmptyMulticast.java:238) ~[reactor-core-3.4.14.jar:3.4.14]
test-prometheus-rsocket-proxy-1 | at reactor.core.publisher.SinkEmptyMulticast.tryEmitEmpty(SinkEmptyMulticast.java:70) ~[reactor-core-3.4.14.jar:3.4.14]
test-prometheus-rsocket-proxy-1 | at reactor.core.publisher.SinkEmptySerialized.tryEmitEmpty(SinkEmptySerialized.java:46) ~[reactor-core-3.4.14.jar:3.4.14]
test-prometheus-rsocket-proxy-1 | at io.rsocket.internal.BaseDuplexConnection.dispose(BaseDuplexConnection.java:51) ~[rsocket-core-1.1.1.jar:na]
test-prometheus-rsocket-proxy-1 | at io.rsocket.transport.netty.TcpDuplexConnection.lambda$new$0(TcpDuplexConnection.java:49) ~[rsocket-transport-netty-1.1.1.jar:na]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:571) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:550) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:605) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84) ~[netty-transport-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.AbstractChannel$CloseFuture.setClosed(AbstractChannel.java:1164) ~[netty-transport-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:755) ~[netty-transport-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:731) ~[netty-transport-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:620) ~[netty-transport-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.shutdownInput(AbstractEpollChannel.java:522) ~[netty-transport-classes-epoll-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:818) ~[netty-transport-classes-epoll-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480) ~[netty-transport-classes-epoll-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) ~[netty-transport-classes-epoll-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.73.Final.jar:4.1.73.Final]
test-prometheus-rsocket-proxy-1 | at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]`
Docker version : 20.10.12 on Mac M1.
Contributor guide
Research direction
Reproduce the failure in Docker image 1.4.0 with a SpringBoot application sending a metric, then start from the provided RSocket and Netty stack trace. Done means identifying the cause of the `CancellationException: Disposed` and confirming that sending a metric no longer produces the reported container error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, java, spring-boot
- Domain
- backend, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100