[infinispan-dev] Fwd: ISPN-2808 - thread pool for incoming message [feedback]

Pedro Ruivo pedro at infinispan.org
Thu Feb 28 05:27:51 EST 2013



On 02/28/2013 10:09 AM, Bela Ban wrote:
>
> On 2/27/13 8:10 PM, Pedro Ruivo wrote:
>>
>>
>> -------- Original Message --------
>> Subject: ISPN-2808 - thread pool for incoming message [feedback]
>> Date: Wed, 27 Feb 2013 19:06:49 +0000
>> From: Pedro Ruivo <pedro at infinispan.org>
>> To: infinispan-core-dev at infinispan.org <infinispan-core-dev at infinispan.org>
>>
>> Hi all,
>>
>> I'm working on ISPN-2808 and I want some feedback about it (code is here
>> [1])
>>
>> I'm starting to implement this feature but I know that Asynchronous
>> Invocation API is not totally finished in JGroups.
>
> It is; I'll upload the 3.3.0.Beta1 version to Nexus in ca. 20 minutes...
>
>
>>
>> My idea in to use an executor service in CommandAwareRpcDispatcher
>> (CARD) and when a request (command) is received, it checks if it is
>> useful to move the command execution to another thread (in this line [2])
>>
>> For now, I'm thinking to move all the write commands, lock control
>> command, prepare command and commit command to the executor service
>
>
> Can't a COMMIT or ROLLBACK be invoked directly ? Aren't they non-blocking ?
the COMMIT can block is you are in DIST + L1 because it needs to sends a 
sync L1 invalidation command.
>
>> (Note: commit command is only moved when in DIST mode and L1 is enabled).
>>
>> first question: do you think it is fine to move the commands to the
>> executor service in CARD or should I move this functionally to the
>> InvoundHandler?
>
>
> I thought we were going to implement this as *first* interceptor in the
> chain, e.g. to allow thread locals to still work ? By the time a command
> reaches the CommandAwareRpcDispatcher, we're already half-way through
> the chain.
I'm not sure if I understood what you mean. However, I though that this 
thread pool is only for the incoming commands to avoid blocking the 
OOB/Regular threads in JGroups thread pools. So, the 
CommandAwareRpcDispatcher is the first component to know about the 
remote command and can move them to another thread before they reaching 
the interceptor chain.
>
>
> -- Bela Ban, JGroups lead (http://www.jgroups.org)
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>


More information about the infinispan-dev mailing list