[infinispan-dev] Indexing deadlock (solution suggestion)

Sanne Grinovero sanne at infinispan.org
Thu Jan 15 12:08:56 EST 2015


Thanks Radim,
so the problem is that the master node is exhausting the OOB threads
because they are stuck waiting for the index writes?
Assuming I understood, I agree: we should do as you suggested.

Sorry for asking the obvious, but I've missed the problem description;
I only heard that you've found a deadlock. Is there a JIRA related to
this conversation?

Sanne





On 17 December 2014 at 17:58, Radim Vansa <rvansa at redhat.com> wrote:
> Hi,
>
> what I was suggesting in the call in order to get rid of the indexing:
> Currently we're doing this:
>
> 1. thread on primary owner executes the write and sends indexing request
> (synchronous RPC) to index master, waits for the response
> 2. remote/OOB thread on indexing master enqueues the indexing request
> and waits
> 3. indexing thread (on indexing master) retrieves the request, processes
> it and wakes up the waiting remote/OOB thread
> 4. remote/OOB thread sends RPC response
> 5. primary owner receives the RPC response (in OOB thread, inside
> JGroups) and wakes up the thread sending the RPC
>
> What I suggest is that:
> 1. thread on primary owner executes the write and sends indexing request
> as asynchronous RPC (single message) to index master, and waits on a
> custom synchronization primitive
> 2. remote/OOB thread on indexing master enqueues the indexing request
> and returns back to the threadpool
> 3. indexing thread (on indexing master) retrieves the request, processes
> it and sends asynchronouse RPC (again single message) to the primary owner
> 4. primary owner (in OOB thread) receives the message and wakes up
> thread waiting on the custom synchronization primitive (in Infinispan)
>
> My 2c
>
> Radim
>
> --
> Radim Vansa <rvansa at redhat.com>
> JBoss DataGrid QA
>
> _______________________________________________
> 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