Lucene's merging is concurrent, but Solr unfortunately uses UninvertingReader on each DBQ ... I'm not sure why. I think you should ask on the solr-user list?
Or maybe try to change your deletes to be by Term instead of Query? Mike McCandless http://blog.mikemccandless.com On Thu, Aug 4, 2016 at 7:03 AM, Bernd Fehling < bernd.fehl...@uni-bielefeld.de> wrote: > While increasing the indexing load of version 5.5.3 I see > threads where one merging thread is blocking other merging threads. > But is this concurrent merging? > > Bernd > > "Lucene Merge Thread #6" - Thread t@40280 java.lang.Thread.State: > BLOCKED > at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4008) > - waiting to lock <6d75db> (a org.apache.solr.update.SolrIndexWriter) > owned by "Lucene Merge Thread #8" t@53896 > at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3655) > at > org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:588) > at > org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:626) > Locked ownable synchronizers: - None > > "Lucene Merge Thread #7" - Thread t@40281 java.lang.Thread.State: > BLOCKED > at org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4166) > - waiting to lock <6d75db> (a org.apache.solr.update.SolrIndexWriter) > owned by "Lucene Merge Thread #8" t@53896 > at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3655) > at > org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:588) > at > org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:626) > Locked ownable synchronizers: - None > > "Lucene Merge Thread #8" - Thread t@53896 java.lang.Thread.State: > RUNNABLE > at java.lang.System.identityHashCode(Native Method) > at org.apache.lucene.index.IndexReader.hashCode(IndexReader.java:302) > at java.util.WeakHashMap.hash(WeakHashMap.java:298) > at java.util.WeakHashMap.put(WeakHashMap.java:449) > at java.util.Collections$SetFromMap.add(Collections.java:5461) > at java.util.Collections$SynchronizedCollection.add(Collections.java:2035) > - locked <4c8b5399> (a java.util.Collections$SynchronizedSet) > at > org.apache.lucene.index.IndexReader.registerParentReader(IndexReader.java:138) > at > org.apache.lucene.index.FilterLeafReader.<init>(FilterLeafReader.java:306) > at > org.apache.lucene.uninverting.UninvertingReader.<init>(UninvertingReader.java:184) > at > org.apache.solr.update.DeleteByQueryWrapper.wrap(DeleteByQueryWrapper.java:52) > at > org.apache.solr.update.DeleteByQueryWrapper.createWeight(DeleteByQueryWrapper.java:72) > at > org.apache.lucene.search.IndexSearcher.createWeight(IndexSearcher.java:904) > at > org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:887) > at > org.apache.lucene.index.BufferedUpdatesStream.applyQueryDeletes(BufferedUpdatesStream.java:713) > at > org.apache.lucene.index.BufferedUpdatesStream.applyDeletesAndUpdates(BufferedUpdatesStream.java:246) > - locked <9f8d81c> (a org.apache.lucene.index.BufferedUpdatesStream) > at org.apache.lucene.index.IndexWriter._mergeInit(IndexWriter.java:3834) > - locked <6d75db> (a org.apache.solr.update.SolrIndexWriter) > at org.apache.lucene.index.IndexWriter.mergeInit(IndexWriter.java:3792) > - locked <6d75db> (a org.apache.solr.update.SolrIndexWriter) > at org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3646) > at > org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:588) > at > org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:626) > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > >