You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2015/03/31 10:16:54 UTC
[jira] [Created] (LUCENE-6381) DocumentsWriterStallControl's
.wait() should have a time limit
Michael McCandless created LUCENE-6381:
------------------------------------------
Summary: DocumentsWriterStallControl's .wait() should have a time limit
Key: LUCENE-6381
URL: https://issues.apache.org/jira/browse/LUCENE-6381
Project: Lucene - Core
Issue Type: Bug
Reporter: Michael McCandless
Assignee: Michael McCandless
Fix For: Trunk, 5.1
This build was hung: http://build-us-00.elastic.co/job/es_core_15_centos/230/testReport/junit/org.elasticsearch.index.engine/InternalEngineTests/testDeletesAloneCanTriggerRefresh/
Only one thread was stalled in DocumentsWriterStallControl, which means we have a bug somewhere, because that thread should have un-stalled once the other (too many) threads finished flushing their segments.
I think we should make a simple defensive change here: instead of wait(), which waits forever for a .notify/All() to wake it up, we should wait for up to a time limit. This way when any concurrency bug like this strikes, we won't hang forever.
I cannot reproduce that particular hang... what's unique about that test is it uses a positively minuscule (1 KB) IW buffer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org