It is synchronized due to 1.2 singleton core compatibility:
public static SolrCore getSolrCore() {
    synchronized( SolrCore.class ) {
...

It would require a lot of simultaneous core creations (and/or deprecated
getSolrCore calls) to have a noticeable performance effect.


Noble Paul നോബിള്‍  नोब्ळ् wrote:
> 
> Why does it have to be synchronized . will it notlead to poor
> multicore performance?
> 
> /**
>    * Creates a new core and register it in the list of cores.
>    * If a core with the same name already exists, it will be stopped
> and replaced by this one.
>    *...@param dataDir the index directory
>    *...@param config a solr config instance
>    *...@param schema a solr schema instance
>    *
>    *...@since solr 1.3
>    */
>   public SolrCore(String name, String dataDir, SolrConfig config,
> IndexSchema schema, CoreDescriptor cd) {
>     synchronized (SolrCore.class) {
> 
>     ....
>     }
> -- 
> --Noble Paul
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Why-is-SolrCore-creation-synchronized--tp22943290p22948229.html
Sent from the Solr - Dev mailing list archive at Nabble.com.

Reply via email to