micrometer-metrics / micrometer-metrics/prometheus-rsocket-proxy
Prometheus-rsocket-client seems to have issues with JDK17
- Dominant language
- Java
- Stars
- 77
- Forks
- 30
- PR merge metrics
- No merged PRs in 30d
Description
Looks like executing the prometheus-rsocket-client on Java 17 fails because of some runtime errors of snappy-java library
"Custom destroy method 'pushAndClose' on bean with name 'prometheusRSocketClient' threw an exception: java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.pure.UnsafeUtil"
https://github.com/xerial/snappy-java/issues/305
This is the evidence I collected, but I see no mention here so in case I am missing something I'll stand corrected
I tried with both 1.3.0 and 1.4.0, as soon as I use eclipse-temurin:17-jdk-alpine as my base image, some metrics (I guess those collected during runtime, and relying on pushAndClose) don't get into the proxy and I get this error in logs
Contributor guide
Research direction
Reproduce the failure using eclipse-temurin:17-jdk-alpine with prometheus-rsocket-client versions 1.3.0 and 1.4.0. Start by comparing the reported snappy-java issue with the NoClassDefFoundError from UnsafeUtil, then verify whether runtime metrics and pushAndClose reach the proxy without errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, java
- Domain
- observability
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100