Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GraalVM support to prometheus-rsocket-proxy #85

Closed
klopfdreh opened this issue Aug 7, 2024 · 12 comments
Closed

Add GraalVM support to prometheus-rsocket-proxy #85

klopfdreh opened this issue Aug 7, 2024 · 12 comments
Labels
invalid This doesn't seem right

Comments

@klopfdreh
Copy link
Contributor

klopfdreh commented Aug 7, 2024

Because prometheus-rsocket-proxy uses snappy-java and because this referenced library makes use of native libs packed into the dependency, the following PR needs to be merged so that GraalVM is supported: xerial/snappy-java#590. snappy-java is used in the submodule client, proxy and proxy-server

See:

@shakuzen
Copy link
Member

shakuzen commented Aug 7, 2024

I'm not sure there's anything we can/should do about this other than upgrade the version of snappy-java when/if a version is released that supports GraalVM. Am I missing anything?

@klopfdreh
Copy link
Contributor Author

@shakuzen - this is right. I just added the issue here as others are also facing it. If snappy-java is released with the referenced PR you can update the dependency and close this issue. 👍

@shakuzen
Copy link
Member

shakuzen commented Aug 7, 2024

Thanks for the clarification and making us aware. We'll wait until we can upgrade.

@klopfdreh
Copy link
Contributor Author

New version is released: https://github.com/xerial/snappy-java/releases/tag/v1.1.10.6 - but I guess we have to wait a bit until it is available at maven central.

@shakuzen
Copy link
Member

shakuzen commented Aug 7, 2024

Well that was quite a quick turnaround 😄

@shakuzen
Copy link
Member

Could you confirm that the latest snapshots work with GraalVM native images now that the new version of snappy-java should be pulled in?

@klopfdreh
Copy link
Contributor Author

I tested it already for snappy-java - if the version is resolved correctly via dependency management I think we are safe. 👍

@shakuzen
Copy link
Member

Dependency management in this project is currently done with dynamic versions and lock files for release versions. main currently doesn't have any lock files, so the latest version of snappy-java should have been picked up in the latest snapshot build. I think we can close this if the latest snapshots are able to work with GraalVM native image compilation and running.

@klopfdreh
Copy link
Contributor Author

Okay then let me check it - are the Snapshots also available in maven central?

@shakuzen
Copy link
Member

@klopfdreh
Copy link
Contributor Author

klopfdreh commented Aug 15, 2024

Hey @shakuzen - I created a demo project for you so that you are also able to test native support in future: https://github.com/klopfdreh/prometheus-rsocket-native-test

The README.md contains all required information what to do to create a Spring Boot application with prometheus-rsocket-proxy-client in a native docker image.

The server is not native compiled yet.

All in all - long explanation short answer: It works 😄

I used 2.0.0-SNAPSHOT and the newest snappy-java version was provided as dependency through that version.

@jonatan-ivanov
Copy link
Member

@klopfdreh Thank you!

@jonatan-ivanov jonatan-ivanov closed this as not planned Won't fix, can't repro, duplicate, stale Aug 16, 2024
@jonatan-ivanov jonatan-ivanov added the invalid This doesn't seem right label Aug 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

3 participants