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

Vladimir Ozerov updated IGNITE-2577:
------------------------------------
    Fix Version/s:     (was: 1.6)
                   1.7

> Investigate HashMap.Node[] allocations from GridDistributedTxMapping.add()
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-2577
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2577
>             Project: Ignite
>          Issue Type: Task
>          Components: cache
>    Affects Versions: 1.5.0.final
>            Reporter: Vladimir Ozerov
>              Labels: performance
>             Fix For: 1.7
>
>
> *Problem*
> GridDistributedTxMapping is initialized with empty HashSet() for TX entries 
> by default. 
> When the very first element is added, undelying HashMap expands causing 
> memory traffic.
> *Proposed solutions*
> 1) Use LinkedList instead. One can notice that when GridDistributedTxMapping 
> is deserialized using direct reader, "entries" are read as list. Furthermore, 
> both "reads" and "writes" projections are returned as wrapped views, so that 
> do not benefit form fast lookups.
> If we neither perform lookups from entries, nor require "unique" Set 
> semantics, "entries" could be changed to LinkedList thus decresaing memory 
> traffic.
> 2) Use special singleton collection. This way we will have to evaluate all 
> "entries" usages very carefully.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to