[infinispan-dev] Rethinking asynchronism in Infinispan

Bela Ban bban at redhat.com
Wed Jan 13 12:18:52 EST 2010


So dude,

let's recap:

1. You found an issue but didn't report it
2. You fixed the issue but cannot talk about it

What's next ? You'd have to kill us if you talked about the issue and 
the fix ? :-)


Krzysztof Sobolewski wrote:
> Dnia ¶roda 13 styczeñ 2010 o 15:22:01 napisa³e¶:
>
>   
>> 1)  RPC: Using JGroups' ResponseMode of waiting for none.
>>     
>
> Speaking of which...
>
> I ran into a problem in JBoss Cache some time ago (it's one of those not yet 
> reported ;) ) with aynchronous replication and non-blocking state transfer. 
> AFAICS Infinispan uses the same replication mechanism as JBC, so I think it's 
> relevant here.
>
> The thing is that the "asynchronous" replication uses the usual method of 
> submitting a task to an Executor. This is no problem without NBST, because the 
> tasks are not interested in responses and finish immediately, but with NBSP 
> they need responses to facilitate replay. And since they need to wait for 
> responses, they clog the Executor's threads and under sufficiently heavy load, 
> it all degrades to effectively synchronous replication. And it happens quite 
> fast, really.
>
> The good news is that I fixed it. The bad news is that it's not something that 
> can really be put in public view :) But the approach is to use asynchronous 
> API in JGroups - one of the castMessage() overloads that accepts a 
> RspCollector. That way I made the async replication really asynchronous, and 
> so far it works without problems :)
> -KS
>
>   

-- 
Bela Ban
Lead JGroups / Clustering Team
JBoss




More information about the infinispan-dev mailing list