-
Notifications
You must be signed in to change notification settings - Fork 829
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
GraalVM compatibility #936
Comments
@mrniko: My understanding of GraalVM requirements is limited. What serializers would we need to add to the The issue you linked mentions |
It's arise if you use OffsetDateTime object. But you use any other object like Duration, Instant... you'll get similar error. I think all Serializers which extends ImmutableSerializer and located in TimeSerializers should be added. |
I attached the sample project. You can use it to reproduce issue with other serializers. Read Readme.md for the build steps. Please note that OffsetDateTimeSerializer already added into |
It seems all Serializers extending ImmutableSerializer should be added, not only in TimeSerializers class |
I attached reflect-config.json file with all Serializers |
@mrniko: Can you please create a PR with your suggested changes? Then we can discuss this further. We could add some conditional declarations for serializers: |
Here is another issue with GraalVM redisson/redisson#4820 |
@mrniko: We have two options here:
I don't use GraalVM in my dayjob, so I can't spend a lot of time on this issue. If you can provide me with a very simple example project that uses GraalVM + Kryo where I can reproduce these issues, I will attempt to fix them. But it should be a project without Redisson, Quarkus etc. Ideally, just a class that initializes Kryo and does some serialization. |
Note to myself: Here is how Netty handles this: |
@mrniko thank you for your reflection-config.json, the project we use uses three serializers only so learning the correct format for listing those from your upload, namely |
You don't need to add reflection-config.json since it's part of Redisson. |
No no, you helped me write as much as we needed to work with kryo and I'm not using Redisson:
|
Sorry, Kryo makes classes by loading their bytecode, but this will work iff a generic bytecode is loaded for the class using |
Is your feature request related to a problem? Please describe.
Make Kryo lib GraalVM compatible
Describe the solution you'd like
Some of serializers can't be used in GraalVM - redisson/redisson#4811. They needs to be added in reflect-config.json file stored in library.
Describe alternatives you've considered
I'm adding it manually in my project now
The text was updated successfully, but these errors were encountered: