[ http://jira.jboss.com/jira/browse/JBCACHE-94?page=history ] Bela Ban reopened JBCACHE-94: -----------------------------
The following append details a case in which this still fails > Incorrect synchronization between threads (CreateIfNotExistsInterceptor and > LockInterceptor) > -------------------------------------------------------------------------------------------- > > Key: JBCACHE-94 > URL: http://jira.jboss.com/jira/browse/JBCACHE-94 > Project: JBoss Cache > Type: Bug > Reporter: Bela Ban > Assignee: Bela Ban > Priority: Blocker > Fix For: 1.2.1 > > > Example (assumes RPE-READ (R/W lock) semantics): > - TX1 does a put(/a/b/c) > - TX1 acquires lock1 in CreateIfNotExistsInterceptor > - TX1 creates /a/b (RL) and /a/b/c (WL), locking those nodes > - TX2 does a put(/a/b/c/d), waits on CINE-Int > - TX1 releases lock1 > - TX2 acquires lock1 and blocks on lock acquisition for /a/b/c (WL-ed by TX1) > - TX1 does a remove(/a/b/c, key) > - TX1 blocks on lock1 (held by TX2) > - TX2 times out, rolls back changes and releases lock1 > - TX1 acquires lock1, makes the change, commits TX and releases all locks > SOLUTION: we need to fine-grained synchronization in > CreateIfNotExistsInterceptor -- 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 - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ JBoss-Development mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-development
