cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (Created) (JIRA)" <>
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
             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 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:!default.jspa
For more information on JIRA, see:


View raw message