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

Vladimir Ozerov updated IGNITE-2513:
------------------------------------
    Description: 
*Problem*
We have lots scenarios when TL.set(...) is accompanied with TL.remove(). Once 
TL entry is removed, next set(...) invocation will cause creation of new inner 
entries, thus generating garbage.

*Solution*
Use TL.set(null) instead of TL.remove(). 

*CAUTION!* This applies only to static TLs and TLs on rarely created objects 
(e.g. contexts). This optimization should not be applied to non-static TLs of 
frequently created objects because it will lead to excessive grow of internal 
TL map.


  was:
*Problem*
We have lots scenarios when TL.set(...) is accompanied with TL.remove(). Once 
TL entry is removed, next set(...) invocation will cause creation of new inner 
entries, thus generating garbage.

*Solution*
Use TL.set(null) instead of TL.remove(). 
*CAUTION!* This applies only to static TLs and TLs on rarely created objects 
(e.g. contexts). This optimization should not be applied to non-static TLs of 
frequently created objects because it will lead to excessive grow of internal 
TL map.



> Review ThreadLocal.remove() usages.
> -----------------------------------
>
>                 Key: IGNITE-2513
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2513
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: general
>    Affects Versions: 1.5.0.final
>            Reporter: Vladimir Ozerov
>            Assignee: Vladimir Ozerov
>            Priority: Critical
>             Fix For: 1.6
>
>
> *Problem*
> We have lots scenarios when TL.set(...) is accompanied with TL.remove(). Once 
> TL entry is removed, next set(...) invocation will cause creation of new 
> inner entries, thus generating garbage.
> *Solution*
> Use TL.set(null) instead of TL.remove(). 
> *CAUTION!* This applies only to static TLs and TLs on rarely created objects 
> (e.g. contexts). This optimization should not be applied to non-static TLs of 
> frequently created objects because it will lead to excessive grow of internal 
> TL map.



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

Reply via email to