I have changed the package name for a field in the aerospike pojo that I was storing. While fetching older records of same pojo, its throwing classNotFoundException. Does aerospike the class path of all fields ? If it does, is there some way I can bypass that, as some data is stored in old format and some in new format ?
Aerospike uses java runtime binary serialization for objects that do not have a corresponding Aerospike type. Java’s binary serialization does store the complete class path for all fields.
You will need to create a program that contains both the old and new class definition. Then, read applicable records into the old class instance and then write into the new class instance.
Java’s binary serialization is slow, space inefficient and language specific. Instead, I recommend using protobuf to perform serialization and then use a byte array bin to store the result.