lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Heidrich (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1555) Deadlock while optimize
Date Wed, 11 Mar 2009 14:08:50 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-1555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680873#action_12680873
] 

Stefan Heidrich commented on LUCENE-1555:
-----------------------------------------

I've changed only IndexWriter.close() to IndexWriter.close(true). The true is correct.

After some testing we couldn't reproduce the lock anymore. So I think it is solved with this
change.

I've expected, that calling ConcurrentMergeScheduler.sync() would prevents the lock, but that
was not the case.

I'm not doing any external synchronization on IndexWriter myself. I expect that the IndexWriter
is synchronized by itself.
The indexer thread is the only thread that uses the IndexWriter and calling IndexWriter.close().


Sure there are  many threads running, but these are the only two threads, that have to do
with the indexing.

> Deadlock while optimize
> -----------------------
>
>                 Key: LUCENE-1555
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1555
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.4
>         Environment: ubuntu 8.04, java 1.6 update 07, Lucene 2.4.0
>            Reporter: Stefan Heidrich
>            Assignee: Michael McCandless
>
> Sometimes after starting the thread with the indexer, the thread will hang in the following
threads.
> Thread [Lucene Merge Thread #0] (Ausgesetzt)	
> 	IndexWriter.commitMerge(MergePolicy$OneMerge, SegmentMerger, int) Line: 3751	
> 	IndexWriter.mergeMiddle(MergePolicy$OneMerge) Line: 4240	
> 	IndexWriter.merge(MergePolicy$OneMerge) Line: 3877	
> 	ConcurrentMergeScheduler.doMerge(MergePolicy$OneMerge) Line: 205	
> 	ConcurrentMergeScheduler$MergeThread.run() Line: 260	
> Thread [Indexer] (Ausgesetzt)	
> 	Object.wait(long) Line: not available [native Methode]	
> 	IndexWriter.doWait() Line: 4491	
> 	IndexWriter.optimize(int, boolean) Line: 2268	
> 	IndexWriter.optimize(boolean) Line: 2203	
> 	IndexWriter.optimize() Line: 2183	
> 	Indexer.run() Line: 263	
> If you need more informations, please let me know.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message