[
http://jira.jboss.com/jira/browse/JGRP-227?page=all ]
Bela Ban resolved JGRP-227.
---------------------------
Resolution: Done
I ran the unit test 5 times, all 5 passed.
Okay, actually, I don't support calling put()/remove()/clear() etc from within a
callback. As you mentioned, this has to be done on a separate thread, otherwise you will
get into deadlocks, as described in
http://www.jgroups.org/javagroupsnew/docs/papers/Middleware.ps.
So, while this is unsupported, I added a method setDeadlockDetection() to
DistributedHashtable, which you can call with a "true" argument, before calling
start(). That might help, let me know.
Distributed Hashtable call to put() blocks indefinitely
-------------------------------------------------------
Key: JGRP-227
URL:
http://jira.jboss.com/jira/browse/JGRP-227
Project: JGroups
Issue Type: Bug
Affects Versions: 2.2.9.1
Environment: Mandrake Linux 9.1, Java 1.4.2
Reporter: Mark Kopec
Assigned To: Bela Ban
Fix For: 2.4
Attachments: JGroupsDistTest.java
Distributed hashtable put(x,y) without any ERROR level locks up and creates inconsistent
DHT values across cluster.
Here is the code that exposes this error:
MyListener implements DistributedHashtable.notification{
// other methods
public void entryRemoved(Object key) {
distributedHashTableObject.put(key,"xxxsomeval"); //<-- this and
subsequent on the distributedHashTableObject put() or remove() get stuck!!!!
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira