You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by "Sal Campana (JIRA)" <ji...@apache.org> on 2005/06/16 20:12:47 UTC
[jira] Created: (APOLLO-40) Deadlock in AbstractResourceHome.find()
Deadlock in AbstractResourceHome.find()
---------------------------------------
Key: APOLLO-40
URL: http://issues.apache.org/jira/browse/APOLLO-40
Project: Apollo
Type: Bug
Components: Other
Reporter: Sal Campana
We need to build a unit test around this and expose the issue...
Basically when we call createInstance in the implemented home it calls to find()...This method is locking up...I haven't looked closely yet but I suspect we may be using a Hashmap instead of a Hashtable (synchronized) for the lookup table....
My resolution was to create a lock object in the the implemented home and wrapped the call to find() in a synchronized block....This seems to fix the issue...
//concrete home impl...createInstance(..) method
private static Object m_lock = new Object(); //class variable..not local!
....
synchronized(m_lock)
{
find(resourceKey);
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org
[jira] Commented: (APOLLO-40) Deadlock in AbstractResourceHome.find()
Posted by "Sal Campana (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/APOLLO-40?page=comments#action_12313849 ]
Sal Campana commented on APOLLO-40:
-----------------------------------
I also had added "synchronize" to the getLock(..) method in AbstractResourceHome....I have checked it in for now, however I suspect it had nothing to do with the fix....We tested with just it in place the problem still occurred, however I do not want to remove until we are sure we've fixed the issue...just in case
> Deadlock in AbstractResourceHome.find()
> ---------------------------------------
>
> Key: APOLLO-40
> URL: http://issues.apache.org/jira/browse/APOLLO-40
> Project: Apollo
> Type: Bug
> Components: Other
> Reporter: Sal Campana
>
> We need to build a unit test around this and expose the issue...
> Basically when we call createInstance in the implemented home it calls to find()...This method is locking up...I haven't looked closely yet but I suspect we may be using a Hashmap instead of a Hashtable (synchronized) for the lookup table....
> My resolution was to create a lock object in the the implemented home and wrapped the call to find() in a synchronized block....This seems to fix the issue...
> //concrete home impl...createInstance(..) method
> private static Object m_lock = new Object(); //class variable..not local!
> ....
> synchronized(m_lock)
> {
> find(resourceKey);
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org