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