[hibernate-issues] [Hibernate-JIRA] Created: (HSEARCH-824) Run in parallel some of the engine initialization

Emmanuel Bernard (JIRA) noreply at atlassian.com
Fri Jul 29 10:03:03 EDT 2011


Run in parallel some of the engine initialization
-------------------------------------------------

                 Key: HSEARCH-824
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-824
             Project: Hibernate Search
          Issue Type: Improvement
            Reporter: Emmanuel Bernard


In IndexManagerHolder.buildEntityIndexBinding we currently synchronize. But the critical part is only between

indexManagersRegistry.get( providerName )
indexManagersRegistry.put( providerName, indexManager )

Even that does a lot of work.

We could parallelize the creation of EntityIndexBinder:

* synchronize this small piece described above
* move indexManager.initialize out of the sync block and be executed by ServiceFactoryBuilder#initDocumentBuilders (the caller of IndexManagerHolder.buildEntityIndexBinding)
* in  ServiceFactoryBuilder#initDocumentBuilders run the various phases in parallel with a ExecutorService (ie build EntityindexBinder, initialize IndexManagers, build DocumentBuilder etc)

If class > 10 - number to refine, split the work.

This can be done by a community member but it's not a trivial task


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list