[infinispan-dev] Rolling upgrades improvement proposal

Tristan Tarrant ttarrant at redhat.com
Wed Feb 13 04:09:33 EST 2013


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20130213/58355a8c/attachment.html 


More information about the infinispan-dev mailing list