graalvm

tatut 2022-12-30T06:43:42.184499Z

I haven’t done any graalvm builds myself, so sorry if this is a newbie question, but should JNI using libraries work out of the box with graalvm? I’m thinking specifically about RocksDB (the fat jar has linux, windows and mac libs baked in)

tatut 2022-12-30T08:12:16.183439Z

I don’t see the connection, does kafka use rocksdb?

borkdude 2022-12-30T08:16:14.047259Z

Yes, Kafka streams apparently. Google around and you’ll see the quarkus issue.

tatut 2022-12-30T08:16:56.625719Z

interesting, I had no idea… thanks

tatut 2022-12-30T08:17:01.454539Z

I’ll look around

2022-12-31T00:34:08.948489Z

you can also use the graal tracing agent https://www.graalvm.org/latest/reference-manual/native-image/metadata/AutomaticMetadataCollection/ along with a similar agent for clojure https://github.com/luontola/clojure-native-image-agent the graal tracing agent can generate JNI and other config from running your program

borkdude 2022-12-30T07:20:10.567729Z

You can make JNI work but probably not out of the box unless there is a known configuration for it

tatut 2022-12-30T07:24:24.058949Z

I was afraid it wouldn’t be that easy

tatut 2022-12-30T07:24:57.191699Z

if I need to delve into the internals of rocksdb jni, it sounds like it might be quite a lot of work

borkdude 2022-12-30T07:34:32.470179Z

It seems quarkus has support for Kafka streams so this probably means you could copy something or something might already be available in the registry