lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erick Erickson (JIRA)" <>
Subject [jira] [Commented] (SOLR-7836) Possible deadlock when closing refcounted index writers.
Date Mon, 10 Aug 2015 01:32:45 GMT


Erick Erickson commented on SOLR-7836:

bq: What about the nightly test?

I'm beating that up as well, 50+ runs and iterating without a problem so far.

bq: While that says getUpdateLock, it appears to have been additionally proposed as a deleteLock
judging by it's callers and variable name. It looks like the old index update lock was tied
into also being a delete lock

Hmmm. which may explain why changing in in addAndDelete was a problem and apparently not in
the other cases.

bq: What is the logic that says you now need that also locking adds other than this test?

May well be flawed logic, but I find it really suspicious that the the ulog.add() call is
sometimes protected and sometimes not. Although your point that it appears to really be about
deletes (which the others don't do) may be why. Moving getting the indexwriter away from being
done at the beginning of addDoc0() did remove a layer of protection around the ulog.add calls
in all the code paths in addDoc0(). The ref counted index writer (unintentionally?) locked
out some other updates possibly. ulog.add can get a new ref counted index writer which lead
to the deadlock in the addAndDelete case.

> Possible deadlock when closing refcounted index writers.
> --------------------------------------------------------
>                 Key: SOLR-7836
>                 URL:
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>             Fix For: Trunk, 5.4
>         Attachments: SOLR-7836-synch.patch, SOLR-7836.patch, SOLR-7836.patch, SOLR-7836.patch
> 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

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message