<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi all,<br>
<br>
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):<br>
<br>
<ul>
<li>support for rolling upgrades from JDG 6.0.x to JDG 6.1.x</li>
<li>efficiency of the bulk key synchronization (all keys are
serialized into a single key which the target cluster uses to
*suck* all data from the source cluster).<br>
</li>
</ul>
<p><br>
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.<br>
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).<br>
</p>
<p><br>
Comments, thoughts.<br>
</p>
<p>Tristan<br>
</p>
</body>
</html>