Maybe we need a flag in the update handler to ignore commit requests.

I just enabled a similar thing for our JVM, because something, somewhere was 
calling System.gc(). You can completely ignore explicit GC calls or you can 
turn them into requests for a concurrent GC.

A similar setting for Solr might map commit requests to hard commit (default), 
soft commit, or none.

wunder

On May 15, 2013, at 2:20 PM, Steven Bower wrote:

> Most definetly understand the don't commit after each record...
> unfortunately the data is being fed by another team which I cannot
> control...
> 
> Limiting the number of potential tlog files is good but I think there is
> also an issue in that when the TransactionLog objects are dereferenced
> their RandomAccessFile object is not closed.. thus delaying release of the
> descriptor until the object is GC'd...
> 
> I'm hunting through the UpdateHandler code to try and find where this
> happens now..
> 
> steve
> 
> 
> On Wed, May 15, 2013 at 5:13 PM, Yonik Seeley <yo...@lucidworks.com> wrote:
> 
>> Hmmm, we keep open a number of tlog files based on the number of
>> records in each file (so we always have a certain amount of history),
>> but IIRC, the number of tlog files is also capped.  Perhaps there is a
>> bug when the limit to tlog files is reached (as opposed to the number
>> of documents in the tlog files).
>> 
>> I'll see if I can create a test case to reproduce this.
>> 
>> Separately, you'll get a lot better performance if you don't commit
>> per update of course (or at least use something like commitWithin).
>> 
>> -Yonik
>> http://lucidworks.com
>> 
>> On Wed, May 15, 2013 at 5:06 PM, Steven Bower <sbo...@alcyon.net> wrote:
>>> We have a system in which a client is sending 1 record at a time (via
>> REST)
>>> followed by a commit. This has produced ~65k tlog files and the JVM has
>> run
>>> out of file descriptors... I grabbed a heap dump from the JVM and I can
>> see
>>> ~52k "unreachable" FileDescriptors... This leads me to believe that the
>>> TransactionLog is not properly closing all of it's files before getting
>> rid
>>> of the object...
>>> 
>>> I've verified with lsof that indeed there are ~60k tlog files that are
>> open
>>> currently..
>>> 
>>> This is Solr 4.3.0
>>> 
>>> Thanks,
>>> 
>>> steve
>> 




Reply via email to