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/09/07 20:49:23 UTC

DO NOT REPLY [Bug 31105] New: - Transient locks are not released due to suspended state within ExtendedStore

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=31105>.
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=31105

Transient locks are not released due to suspended state within ExtendedStore

           Summary: Transient locks are not released due to suspended state
                    within ExtendedStore
           Product: Slide
           Version: 2.1
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Core
        AssignedTo: slide-dev@jakarta.apache.org
        ReportedBy: snmvaughan92@yahoo.com


The field "locks" holds a HashSet instance for each active thread, containing 
the transient locks (GenericLock instances).  When a transaction is suspended, 
the set is moved from "locks" to "suspendedLocks", under a key based upon the 
Xid for the transaction branch.

When a transaction calls end(Xid,int) with SUCCESS or FAILURE, if the 
transaction is currently suspended, then the field "activeTransactionBranch" 
is cleared, leaving the locks within "suspendedLocks".

Although commit(Xid,boolean), rollback(Xid), and forget(Xid) all call 
releaseTransientLocks(), the release method depends upon 
the "activeTransactionBranch" field.  Since the activeTransactionBranch is 
null, the locks are not actually released.

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org