OK, fixed on 2.8 and 2.6.
Mircea Markus wrote:
Hi,
This is related to
https://jira.jboss.org/jira/browse/ISPN-38 (Early
distributed deadlock detection).
When I determine that a deadlock scenario happens, I try to interrupt
a tx originated locally. This translates to an thread.interrupt() call
on a thread that is replicating to other caches. The issue is that
this call is ignored in jgroups's GroupRequest:
private boolean collectResponses(long timeout) {
.....
if(timeout > 0) {
try {
completed.await(timeout,
TimeUnit.MILLISECONDS); //LINE 552
}
catch(Exception e) {
}
}
....
}
So my call to interrupt is ignored (line 552) and the collectResponses
method will only return after timeout elapses - not good for me, as I
want the method to return immediately if thread is interrupted.
Would it be possible to enhance the code to be aware of interrupt
calls? This is in JGroups 2.8.0 Beta2.
Cheers,
Mircea
--
Bela Ban
Lead JGroups / Clustering Team
JBoss (by Red Hat)