rsocket-java
rsocket-java copied to clipboard
Subscription is not reliably created when using native images
Expected Behavior
The subscription is created and everthing is working like expected all the time.
Actual Behavior
Sometimes a subscription is not created and the related code just runs in a timeout - I just thought this is a problem of the specific implementation of Prometheus RSocket Proxy, but the more I digg into it the more I think this is an issue that the reactor-tcp-epoll pool of the subscription is not created reliably within native images created with graalvm - for more information see: https://github.com/micrometer-metrics/prometheus-rsocket-proxy/issues/94
Steps to Reproduce
I created a setup to create native images and to test it against a local running Prometheus RSocket Proxy: https://github.com/klopfdreh/prometheus-rsocket-native-test - but sadly I was not able to reproduce it without K8 setup.
- Create a Deployment with a prometheus rsocket proxy server
- Create a service which delegates tcp port 7001 to the pods created with the deployment
- Run a native Spring Boot application with prometheus rsocket proxy client which connects to the prometheus rsocket proxy server via the service
Possible Solution
N/A
Your Environment
- reactor-core 3.7.3
- GraalVM: bellsoft-liberica-vm-openjdk23+38-24.1.0+1-linux-amd64.tar.gz
- Prometheus RSocket Proxy 2.0.0-RC1
- Netty 4.1.118.Final
- Spring Boot 3.4.3