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

Simon Willnauer updated LUCENE-5553:
------------------------------------

    Attachment: LUCENE-5553.patch

next iteration. I cleaned up things a bit and got rid of the static helpers in 
IR. I think it's ready

> IndexReader#ReaderClosedListener is not always called on IndexReader#close()
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-5553
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5553
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/index
>    Affects Versions: 4.7, 5.0
>            Reporter: Simon Willnauer
>            Priority: Blocker
>             Fix For: 4.7.1
>
>         Attachments: LUCENE-5553.patch, LUCENE-5553.patch
>
>
> Today IndexReader#ReaderClosedListener might not be called if the last 
> IndexReader#decRef() call runs into an exception on IndexReader#doClose(). 
> Today we just reset the refCount and never go and call the listeners. There 
> seem to be a bunch of problems here along the same lines but IMO if we close 
> a reader it should close all resources no matter what exception it runs into. 
> What this should do is call the close listeners in a finally block and then 
> rethrow the exception. The real problem here for apps relying on the listener 
> to release resources is that you might leak memory or file handles or whatnot 
> which I think is a bug how we handle closing the IR. As a side-note I think 
> we should never reset the reference here to be honest.  
> Along the same lines I think we need to fix the loop in 
> IndexReader#notifyReaderClosedListeners() to make sure we call all of them in 
> the case any of them throws an exception. It also seems that 
> SegmentCoreReaders#decRef() has a similar problem where for instance a 
> fieldsReader can throw an exception on close and we never call the core 
> listeners.
> IMO we need to fix this for 4.7.1 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to