[ 
https://issues.apache.org/jira/browse/DERBY-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-3092:
--------------------------------------

    Issue & fix info:   (was: [Patch Available])

Committed 4a with revision 903200.

Now, the next step is to make TransactionTable use a ConcurrentHashMap if 
supported by the platform. I think we can define a new interface with two 
methods

  Map newMap() - which returns a Hashtable or a ConcurrentHashMap, depending on 
platform

  void visitEntries(Map, EntryVisitor) - which performs thread-safe iteration 
over the Map

and put some magic into modules.properties to load different implementations on 
the different platforms.

> Use java.util.concurrent in TransactionTable to improve scalability
> -------------------------------------------------------------------
>
>                 Key: DERBY-3092
>                 URL: https://issues.apache.org/jira/browse/DERBY-3092
>             Project: Derby
>          Issue Type: Improvement
>          Components: Store
>    Affects Versions: 10.3.1.4
>            Reporter: Dyre Tjeldvoll
>            Assignee: Knut Anders Hatlen
>         Attachments: derby-3092-1a-map.diff, derby-3092-1b-map.diff, 
> derby-3092-2a-count.diff, derby-3092-3a-xa-visitor.diff, 
> derby-3092-4a-more-visitors.diff, xact-concept.diff, xact-concept.png
>
>
> Running scalability tests with the client and buffer manager from DERBY-2911 
> shows that access to the TransactionTable.trans (a Hashtable) and 
> XactFactory.tranId (a shared long) are the next major sources of contention. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to