You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by bu...@apache.org on 2004/10/27 02:37:25 UTC
DO NOT REPLY [Bug 31907] New: -
DB2 deadlocks retrieving "/actions" object when creating collection under a locked collection
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=31907>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=31907
DB2 deadlocks retrieving "/actions" object when creating collection under a locked collection
Summary: DB2 deadlocks retrieving "/actions" object when creating
collection under a locked collection
Product: Slide
Version: 2.1
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: Other
Component: Core
AssignedTo: slide-dev@jakarta.apache.org
ReportedBy: wburrows@e2open.com
The problem was that some of the action related methods in the SecurityImpl
class were not "enlisted" to the current transaction when they made db calls.
The "Uri" object instance that was being used to call the store's retrieve
interface didn't have the current SlideToken set because the Uri was being
created with getUri(String) and not getUri(SlideToken, String). Without the
current token set the Uri assumes that there is no current transaction going on
and gets another connection to make its requests on. It seems that it was
eventually blocking waiting for the transaction to complete but the transaction
could not complete until it had performed its db reads. So I modified the path
to loadActions() called from the
matchAction() method which takes a SlideToken and passed this token through to
loadActions() setting Uri's with the getUri(String) with getUri(SlideToken,
String) when I found it. I also fixed the call path to
loadActions() that came from the PropertyHelper classes.
TEST CASE: this was easy to reproduce for me using the DB2 client on the 2.1b2
Slide server release I have. From a fresh Slide installation with an empty DB
and Slide just started, simply lock a collection like "/files" then attempt to
create a collection under it.
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org