Yes: IndexReader newInner=in.reopen(); if (in!=newInner) { in.close(); this.in=newInner;
// code to clean up my data _cache.clear(); _indexData.load(this, true); init(_fieldConfig); } if I change this code to: try { this.in.close(); force close } catch(Exception e) { logger.warn(e.getMessage()); } finally { this.in=newReader(); <-- new instance of IndexReader _cache.clear(); _indexData.load(this, true); init(_fieldConfig); } fixes my leak. -John On Thu, May 29, 2008 at 12:35 AM, Michael Busch <[EMAIL PROTECTED]> wrote: > Could you share some details about how you implemented reopen() in your > reader? > > -Michael > > > John Wang wrote: > >> Yes, I do close the old reader. >> I have a large index, my system is doing real time updates: 1 thread >> writing >> batches of updates to the index, after each index update, it updates the >> reader. I have two readers open always, one is serving the search >> requests, >> while the other updates and the two flips. Reader update implies index >> reopen here. >> >> I am using my implementation of a FilteredIndexReader. >> >> Index leaks very slowly, but obvious. >> >> No, I am not able to provide heap dumps. >> >> -John >> >> On Wed, May 28, 2008 at 4:23 PM, Mark Miller <[EMAIL PROTECTED]> >> wrote: >> >> As someone that has done a lot of reopens, I can vouch there is no leak >>> under simple, normal usage. Are you sure your closing the original reader >>> after getting the reopened reference? >>> >>> >>> Michael Busch wrote: >>> >>> Hi John, >>>> >>>> hmm not good. I will take a look. It has probably to do with the >>>> reference >>>> counting. Are you doing anything special? E. g. do you have own reader >>>> implementations that you call reopen() on? What kinds of readers are you >>>> using? >>>> >>>> Are you maybe able to provide a heapdump? >>>> >>>> -Michael >>>> >>>> John Wang wrote: >>>> >>>> Hi: >>>>> >>>>> We are experiencing memory leak with calling IndexReader.reopen(). >>>>> >>>>> From eyeballing the lucene source code, I am seeing normCache is not >>>>> cleared. >>>>> >>>>> >>>>> Anyone else experiencing this? >>>>> >>>>> Thanks >>>>> >>>>> -John >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >