ConcurrentModificationException in IndexMerger
----------------------------------------------

                 Key: JCR-2747
                 URL: https://issues.apache.org/jira/browse/JCR-2747
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: indexing, jackrabbit-core
    Affects Versions: 2.1.1, 2.1.0, 2.0.0
            Reporter: Jukka Zitting
             Fix For: 2.2.0


The IndexMerger.start() method can cause the following 
ConcurrentModificationException to be thrown since it doesn't protect against 
concurrent access to the busyMergers list. The workers started by the start() 
method will remove themselves from the busyMergers list, which makes it 
possible for a quick worker to concurrently modify the list before the start() 
method is finished iterating through it.

java.util.ConcurrentModificationException
        at 
java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
        at java.util.AbstractList$Itr.next(AbstractList.java:343)
        at 
org.apache.jackrabbit.core.query.lucene.IndexMerger.start(IndexMerger.java:122)
        at 
org.apache.jackrabbit.core.query.lucene.MultiIndex.<init>(MultiIndex.java:325)
        at 
org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:507)
        at 
org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:78)
        at 
org.apache.jackrabbit.core.config.RepositoryConfigurationParser$1.getQueryHandler(RepositoryConfigurationParser.java:630)
        at 
org.apache.jackrabbit.core.config.WorkspaceConfig.getQueryHandler(WorkspaceConfig.java:215)
        at 
org.apache.jackrabbit.core.config.WorkspaceConfig.getQueryHandler(WorkspaceConfig.java:215)
        at 
org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:173)
        at 
org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1868)
        at 
org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(RepositoryImpl.java:2077)
        at 
org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:1996)
        at 
org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:535)


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