During a push, wouldn't you hit consistency issues with ongoing 
(applictaion-initiated) writes on the new cluster?

On 13 Feb 2013, at 09:09, Tristan Tarrant <[email protected]> wrote:

> 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):
> 
> support for rolling upgrades from JDG 6.0.x to JDG 6.1.x
> 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).
> 
> 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
> _______________________________________________
> infinispan-dev mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
[email protected]
twitter.com/maniksurtani

Platform Architect, JBoss Data Grid
http://red.ht/data-grid

_______________________________________________
infinispan-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to