-
-
Notifications
You must be signed in to change notification settings - Fork 6
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
KEFCore fails some tests in net8.0 and JDK 21 #510
Comments
#480 is still open, maybe specific tests will be added there |
Check this comment for some issues found |
Tests still have some issues reported in https://github.com/masesgroup/KEFCore/actions/runs/9703496875; some of them can be mitigated with masesgroup/KEFCore#243 (comment) since the broker/zookeeper fails in windows, however someone else seems specific to JDK 21 and especially regards memory management: e.g. Arithmetic overflow reported on byte array saved in previous steps, so something happens when memory is read, or wrote. |
Finally seems the issue was identified and it is related to the access of information stored in the final fields ( The solution identified is to create a new class, named public class KeyValueSupport<K, V> {
org.apache.kafka.streams.KeyValue<K, V> _innerKV;
public static <K, V> org.apache.kafka.streams.KeyValue<K, V> toKeyValue(KeyValueSupport<K, V> kvs) {
return new org.apache.kafka.streams.KeyValue<K, V>(kvs.getKey(), kvs.getValue());
}
public KeyValueSupport(org.apache.kafka.streams.KeyValue<K, V> innerKV) {
_innerKV = innerKV;
}
public K getKey() {
return _innerKV.key;
}
public V getValue() {
return _innerKV.value;
}
} Using this approach seems that the memory is accessed in the right way and the tests done locally does not report the issues described before. |
Originally posted by @masesdevelopers in masesgroup/KEFCore#243 (comment)
The text was updated successfully, but these errors were encountered: