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

Reply via email to