[ 
https://issues.apache.org/jira/browse/SOLR-918?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12657885#action_12657885
 ] 

Yonik Seeley commented on SOLR-918:
-----------------------------------

bq. Is it ok to let it be a ConcurrentHashMap or should we make it a 
synchronized LinkedHashMap

Either should be fine... new components are added so infrequently and checked 
so infrequently that there won't be a performance difference.

If it's changed to synchronized LinkedHashMap, it should be noted in the 
javadoc for SolrCore.getInfoRegistry() (which is new in 1.3) that it's a 
synchronized Map and thus users need to synchronize during iteration.  This 
synchronization is currently being done by all users of this API since it 
previously was a synchronized map (before the synchronization was mistakenly 
removed).

If we stay with ConcurrentHashMap (and hence don't care about order), then the 
current synchronization while iterating should probably be removed too.

> Thread safety issue in SolrCore.infoRegistry
> --------------------------------------------
>
>                 Key: SOLR-918
>                 URL: https://issues.apache.org/jira/browse/SOLR-918
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Shalin Shekhar Mangar
>            Assignee: Shalin Shekhar Mangar
>            Priority: Minor
>             Fix For: 1.4
>
>         Attachments: SOLR-918.patch
>
>
> SolrCore.infoRegistry is used for keeping a reference to the SolrInfoMBean 
> objects. When JMX is disabled, it is initialized to a LinkedHashMap which is 
> not synchronized.
> We can change this to a ConcurrentHashMap instead of a LinkedHashMap.

-- 
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