On 9 Jun 2011, at 15:26, Manik Surtani wrote:

> We use partial state transfer not to generate partial state per cache, but 
> the entire state per cache, but since we have > 1 cache sharing a given 
> JGroups channel, as far as JGroups in concerned this *is* partial state of a 
> node.  I.e., the state of just 1 cache on a channel, not all the caches.
> 
> So we actually use cacheName as the state identifier (in JGroups' 
> ExtendedMessageListener).
> 
> But yes, there is no reason why we can't replace this with RPC as per 
> Distribution, however I think we do need a streaming solution - not just for 
> replication but distribution as well.  As such I'd only want to re-implement 
> this bit once, rather than a temp RPC based solution first.  So we need a 
> mechanism to either:
Now this might sound a bit too radical but do we really need REPLICATED mode?
This is not fully brewed, but if e.g. we set numOwners = Integer.MAX_INTEGER 
the cluster is effectively in replicated mode, so can't we just drop the 
REPLICATION entirely? This would reduce the code size significantly...
> 
> (1) open a separate TCP socket for the sake of streaming state, or
> (2) reuse the sockets JGroups opens.
> They both have their pros and cons.
> 
> (1) is more configuration, firewall setup, and a spiderweb of connections in 
> a large grid
> (2) would mean multiplexing with JGroups' use of the socket.
Having our own sockets might cause an administration complications. Also 
borrowing sockets from jgroups doesn't seems nice...I'm not a fan of either 
solution really: I think this should be transport's responsibility and we 
should enhance jgroups to offer the streaming service.


_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to