[jbosscache-dev] Re: Non Blocking State Transfer Status (& Integration with JGroups)
Bela Ban
bela at jboss.com
Wed Jan 7 03:17:29 EST 2009
Brian Stansberry wrote:
>> Thinking again, building this over JGroups would probably better with
>> two static channels. One would be TCP + MPING, the other whatever the
>> user defines.
>>
>
> I don't understand why two channels are needed. You can easily unicast
> over the regular JGroups channel. Is your concern that the state
> transfer messages between the sender and the recipient will get held
> up by FC or UNICAST or something due to the regular traffic? I don't
> see why that would be a big problem. The recipient until it completes
> the state transfer isn't going to be doing anything (e.g. holding
> locks) that will cause significant delays in processing state transfer
> messages. (Also, I may be wrong but I believe the UNICAST and NAKACK
> locks are separate,
correct
> so a thread carrying a unicast state transfer message from node A will
> not block on recipient B because a multicast replication message from
> A is being handled by another thread.)
yep
> Also, going back to your very first paragraph "flush and
> partial flush can not be used for this, since the application
> needs the ability to send state (tx log) during the flush" -- I
> believe unicast messages are not blocked by FLUSH. Although depending
> on that seems like a hack.
No, this is *guaranteed* by virtual synchrony which does *not* handle
unicast messages
--
Bela Ban
Lead JGroups / Clustering Team
JBoss - a division of Red Hat
More information about the jbosscache-dev
mailing list