Hi Pramod, As I told we have LRUCache (LinkedHashMap of <String,String>) which needs to be serialized and it is initialized in operator constructor. What we found that, when operator is serialized for checkpointing the content of the this LRUcache is not getting serialized and instead its just an empty LinkedHashMap is serialized. We verified this by implementing the CheckpointNotificationListener in operator and logging the state of this cache. Note that, kryo works well with HashMap but not with LinkedHashMap which is weird
So after looking for some other alternatives for proper serialization, we found that default JavaSerializer does the job and hence Cache has now been set to be serialized with JavaSerializer as below @Bind(value=JavaSerializer.class) public LRUCache<String, String> callerContextCache; but now while verifying the operator recovery with correct state by killing the existing apex instance and restarting it with -originalAppId, we found that deserialization fails As mentioned in my original post, I tried using @Map from kryo and also changing the apa packaging to have application jar in 'lib' (since the get-app-package-info showed the classpath to be lib/*.jar and with original packaging assembly the application jar gets under 'app') but its still of no use Regards Vivek -- View this message in context: http://apache-apex-users-list.78494.x6.nabble.com/How-the-application-recovery-works-when-its-started-with-originalAppId-tp1821p1826.html Sent from the Apache Apex Users list mailing list archive at Nabble.com.