cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CAY-1653) Improving DefaultEventManager concurrency - non-bocking DispatchQueue
Date Mon, 23 Jan 2012 21:03:41 GMT
Improving DefaultEventManager concurrency - non-bocking DispatchQueue
---------------------------------------------------------------------

                 Key: CAY-1653
                 URL: https://issues.apache.org/jira/browse/CAY-1653
             Project: Cayenne
          Issue Type: Improvement
    Affects Versions: 3.1M3
            Reporter: Andrus Adamchik
            Assignee: Andrus Adamchik
             Fix For: 3.1M4


DefaultEventManager and related non-public classes have a bunch of synchronized methods that
create problems when lots of contexts exist in the system. This task is about streamlining
one important piece of this puzzle - DispatchQueue. It is a reason (not the only one unfortunately)
of deadlocks described under CAY-720, CAY-957 and CAY-1652. Also getting rid of it should
in theory greatly improve performance (again - in a system with lots of committing contexts).

So switching it to concurrent collections. Specifically 'dispatchEvent' method (add/remove
listener methods still require some less invasive synchronization on WeakHashMap. We may replace
this one with something like com.google.common.collect.MapMaker some time later... not essential
for now).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message