Hi all,

the current implementation of rolling upgrades is lacking in a few areas which I think warrant urgent attention in the scope of JDG 6.1 (i.e. for the 5.2.x-cycle):


During the Infinispan 5.2 cycle I added support in RemoteCache+RemoteCacheStores to be able to fetch the entries complete with metadata (i.e. expiration/maxIdle). Unfortunately this feature is not available in Infinispan 5.1, and therefore the implementation may only be able to fetch naked key/values, losing mortality information.
To partially overcome this issue, and also to solve the above efficiency issue, I would like the synchronization phase of the rolling upgrade to be a push operation from the source cluster to the target cluster: instead of dumping the keyset into a single key, the source cluster would initiate a distributed task which would cycle through the entire keyset and PUT to the target cluster complete with the correct expiration information (if the source cluster uses JDG 6.1 this could probably be a GET, which would trigger the usual getWithMetadata).


Comments, thoughts.

Tristan