Munoon opened a new issue, #1481: URL: https://github.com/apache/incubator-fury/issues/1481
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/incubator-fury/issues) and found no similar issues. ### Version 0.4.1 ### Component(s) Java ### Minimal reproduce step ```java import io.fury.Fury; import io.fury.memory.MemoryBuffer; import io.fury.serializer.Serializer; import io.fury.serializer.collection.MapSerializers; import java.util.HashMap; public class Test { public static void main(String[] args) { Fury fury = Fury.builder().requireClassRegistration(false).build(); fury.registerSerializer(Storage.class, StorageSerializer.class); HashMap<Key, String> map = new HashMap<>(); map.put(new Key(1, 2), "abc"); Storage storage = new Storage(map); byte[] data = fury.serializeJavaObject(storage); Storage deserializedStorage = fury.deserializeJavaObject(data, Storage.class); System.out.println(deserializedStorage.map().get(new Key(1, 0))); } public static class StorageSerializer extends Serializer<Storage> { public StorageSerializer(Fury fury) { super(fury, Storage.class); } @Override public void write(MemoryBuffer buffer, Storage value) { MapSerializers.HashMapSerializer mapSerializer = new MapSerializers.HashMapSerializer(fury); mapSerializer.setKeySerializer(new KeySerializer(fury)); mapSerializer.write(buffer, value.map()); } @Override public Storage read(MemoryBuffer buffer) { MapSerializers.HashMapSerializer mapSerializer; mapSerializer = new MapSerializers.HashMapSerializer(fury); mapSerializer.setKeySerializer(new KeySerializer(fury)); HashMap<Key, String> map = mapSerializer.read(buffer); return new Storage(map); } } public static class KeySerializer extends Serializer<Key> { public KeySerializer(Fury fury) { super(fury, Key.class); } @Override public void write(MemoryBuffer buffer, Key value) { buffer.writeInt(value.a()); } @Override public Key read(MemoryBuffer buffer) { int a = buffer.readInt(); return new Key(a, 0); } } public record Storage( HashMap<Key, String> map ) { } public record Key( int a, int b ) { } } ``` ### What did you expect to see? Better performance. Also I don't wont to initialize `MapSerializers.HashMapSerializer` on each read/write. ### What did you see instead? If I reuse `MapSerializers.HashMapSerializer`, which was created in the serializer constructor for example, I got an exception. ### Anything Else? _No response_ ### Are you willing to submit a PR? - [X] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
