[ 
https://issues.apache.org/jira/browse/SOLR-7836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yonik Seeley updated SOLR-7836:
-------------------------------
    Attachment: SOLR-7836.patch

OK, I found the issue.
When I re-wrote the SolrCoreState locking to use reentrant read-write locks, I 
was using the current trunk as a reference.  Unfortunately, a previous commit 
in this issue had introduced a bug by changing the semantics.  I didn't realize 
it until I went back to look at trunk before any commits on this issue.

The bug was the addition of this to closeIndexWriter:
{code}
     } finally {
        pauseWriter = false;
        writerPauseLock.notifyAll();
      }
{code}

closeIndexWriter / newIndexWriter are meant to be used as a pair, and block any 
readers inbetween them being called.

I've been looping ChaosMonkeySafeLeaderTest since yesterday afternoon and no 
fails yet.

> Possible deadlock when closing refcounted index writers.
> --------------------------------------------------------
>
>                 Key: SOLR-7836
>                 URL: https://issues.apache.org/jira/browse/SOLR-7836
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>             Fix For: Trunk, 5.4
>
>         Attachments: SOLR-7836-reorg.patch, SOLR-7836-synch.patch, 
> SOLR-7836.patch, SOLR-7836.patch, SOLR-7836.patch, SOLR-7836.patch, 
> SOLR-7836.patch, deadlock_3.res.zip, deadlock_5_pass_iw.res.zip, deadlock_test
>
>
> Preliminary patch for what looks like a possible race condition between 
> writerFree and pauseWriter in DefaultSorlCoreState.
> Looking for comments and/or why I'm completely missing the boat.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to