You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Tiziano Degaetano <ti...@conweaver.com> on 2020/04/22 22:19:35 UTC

SegmentsInfoRequestHandler does not release IndexWriter

Hello,

I’m digging in an issue getting timeouts doing a managed schema change using the schema api.
The call  hangs reloading the cores (does not recover until restarting the node):

sun.misc.Unsafe.park​(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos​(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos​(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos​(Unknown Source)
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.tryLock​(Unknown Source)
org.apache.solr.update.DefaultSolrCoreState.lock​(DefaultSolrCoreState.java:179)
org.apache.solr.update.DefaultSolrCoreState.newIndexWriter​(DefaultSolrCoreState.java:230)
org.apache.solr.core.SolrCore.reload​(SolrCore.java:696)
org.apache.solr.core.CoreContainer.reload​(CoreContainer.java:1558)
org.apache.solr.schema.SchemaManager.doOperations​(SchemaManager.java:133)
org.apache.solr.schema.SchemaManager.performOperations​(SchemaManager.java:92)
org.apache.solr.handler.SchemaHandler.handleRequestBody​(SchemaHandler.java:90)
org.apache.solr.handler.RequestHandlerBase.handleRequest​(RequestHandlerBase.java:211)
org.apache.solr.core.SolrCore.execute​(SolrCore.java:2596)
org.apache.solr.servlet.HttpSolrCall.execute​(HttpSolrCall.java:802)
org.apache.solr.servlet.HttpSolrCall.call​(HttpSolrCall.java:579)

After a while I realized it was only deadlocked, after I used the AdminUI to view the segments info of the core.

So my question: is this line correct? If withCoreInfo is false iwRef.decref() will not be called to release the reader lock, preventing any further writer locks.
https://github.com/apache/lucene-solr/blob/3a743ea953f0ecfc35fc7b198f68d142ce99d789/solr/core/src/java/org/apache/solr/handler/admin/SegmentsInfoRequestHandler.java#L144

Regards,
Tiziano


Re: SegmentsInfoRequestHandler does not release IndexWriter

Posted by Andrzej Białecki <ab...@getopt.org>.
Hi Tiziano,

Indeed, this looks like a bug - good catch! Please file a Jira issue, I’ll get to it soon.

> On 23 Apr 2020, at 00:19, Tiziano Degaetano <ti...@conweaver.com> wrote:
> 
> Hello,
> 
> I’m digging in an issue getting timeouts doing a managed schema change using the schema api.
> The call  hangs reloading the cores (does not recover until restarting the node):
> 
> sun.misc.Unsafe.park​(Native Method)
> java.util.concurrent.locks.LockSupport.parkNanos​(Unknown Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireNanos​(Unknown Source)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireNanos​(Unknown Source)
> java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.tryLock​(Unknown Source)
> org.apache.solr.update.DefaultSolrCoreState.lock​(DefaultSolrCoreState.java:179)
> org.apache.solr.update.DefaultSolrCoreState.newIndexWriter​(DefaultSolrCoreState.java:230)
> org.apache.solr.core.SolrCore.reload​(SolrCore.java:696)
> org.apache.solr.core.CoreContainer.reload​(CoreContainer.java:1558)
> org.apache.solr.schema.SchemaManager.doOperations​(SchemaManager.java:133)
> org.apache.solr.schema.SchemaManager.performOperations​(SchemaManager.java:92)
> org.apache.solr.handler.SchemaHandler.handleRequestBody​(SchemaHandler.java:90)
> org.apache.solr.handler.RequestHandlerBase.handleRequest​(RequestHandlerBase.java:211)
> org.apache.solr.core.SolrCore.execute​(SolrCore.java:2596)
> org.apache.solr.servlet.HttpSolrCall.execute​(HttpSolrCall.java:802)
> org.apache.solr.servlet.HttpSolrCall.call​(HttpSolrCall.java:579)
> 
> After a while I realized it was only deadlocked, after I used the AdminUI to view the segments info of the core.
> 
> So my question: is this line correct? If withCoreInfo is false iwRef.decref() will not be called to release the reader lock, preventing any further writer locks.
> https://github.com/apache/lucene-solr/blob/3a743ea953f0ecfc35fc7b198f68d142ce99d789/solr/core/src/java/org/apache/solr/handler/admin/SegmentsInfoRequestHandler.java#L144
> 
> Regards,
> Tiziano
>