[ https://issues.apache.org/jira/browse/LUCENE-2584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12895119#action_12895119 ]
Alexander Kanarsky commented on LUCENE-2584: -------------------------------------------- OK, I'll create patches tomorrow. > Concurrency issues in SegmentInfo.files() could lead to > ConcurrentModificationException > --------------------------------------------------------------------------------------- > > Key: LUCENE-2584 > URL: https://issues.apache.org/jira/browse/LUCENE-2584 > Project: Lucene - Java > Issue Type: Bug > Affects Versions: 2.9, 2.9.1, 2.9.2, 2.9.3, 3.0, 3.0.1, 3.0.2 > Reporter: Alexander Kanarsky > Priority: Minor > Fix For: 3.1, 4.0 > > > The multi-threaded call of the files() in SegmentInfo could lead to the > ConcurrentModificationException if one thread is not finished additions to > the ArrayList (files) yet while the other thread already obtained it as > cached (see below). This is a rare exception, but it would be nice to fix. I > see the code is no longer problematic in the trunk (and others ported from > flex_1458), looks it was fixed while implementing post 3.x features. The fix > to 3.x and 2.9.x branches could be the same - create the files set first and > populate it, and then assign to the member variable at the end of the method. > This will resolve the issue. I could prepare the patch for 2.9.4 and 3.x, if > needed. > -- > INFO: [19] webapp= path=/replication params={command=fetchindex&wt=javabin} > status=0 QTime=1 > Jul 30, 2010 9:13:05 AM org.apache.solr.core.SolrCore execute > INFO: [19] webapp= path=/replication params={command=details&wt=javabin} > status=0 QTime=24 > Jul 30, 2010 9:13:05 AM org.apache.solr.handler.ReplicationHandler doFetch > SEVERE: SnapPull failed > java.util.ConcurrentModificationException > at > java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) > at java.util.AbstractList$Itr.next(AbstractList.java:343) > at java.util.AbstractCollection.addAll(AbstractCollection.java:305) > at org.apache.lucene.index.SegmentInfos.files(SegmentInfos.java:826) > at > org.apache.lucene.index.DirectoryReader$ReaderCommit.<init>(DirectoryReader.java:916) > at > org.apache.lucene.index.DirectoryReader.getIndexCommit(DirectoryReader.java:856) > at > org.apache.solr.search.SolrIndexReader.getIndexCommit(SolrIndexReader.java:454) > at > org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:261) > at > org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler.java:264) > at > org.apache.solr.handler.ReplicationHandler$1.run(ReplicationHandler.java:146) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org