A major merge is an optimize. If you want to break up these major
merges, there is an option to <commit> called 'maxSegments'. This lets
you say "optimize a little". At least it makes stoppages controllable.

Merge time plotted against the number of documents is a fractal
sawtooth. The degree of the fractal (kind of) comes from maxMergeDocs.
It's a really hilarious graph at 1 billion documents. The function is
the same as making change in currency of steady magnitude. From $1 to
$9, it is steadily increasing, then drops to 1 at $10. And on upward
logarthmically.

Lance

On Fri, Aug 20, 2010 at 12:57 PM, Devin Foley <devinfo...@gmail.com> wrote:
> Thanks Yonik!  I recognize your name from Googling for Solr issues.  Your
> help is greatly appreciated.
>
> I will attempt to tune maxMergeDocs as a first step.
>
> On Fri, Aug 20, 2010 at 12:39 PM, Yonik Seeley
> <yo...@lucidimagination.com>wrote:
>
>> This sounds like perhaps a major merge was triggered.
>>
>> You could do a nightly optimize - which will take just as long, but
>> you control when it happens.
>> The other option is to prevent too big of segments being greated (at
>> the expense of search speed) with options such as maxMergeDocs.
>>
>> -Yonik
>> http://www.lucidimagination.com
>>
>> On Fri, Aug 20, 2010 at 2:03 PM, Devin Foley <devinfo...@gmail.com> wrote:
>> > Hi All,
>> >
>> > I'm currently using Solr to run a search engine that is pulling in new
>> data
>> > 24 hours a day.  Currently, I'm indexing about 5 million documents per
>> day,
>> > each document being around 2k in size.  Every few days, the server locks
>> up,
>> > and calls to /update stop working.  During this lock, CPU, memory and
>> disk
>> > utilization on the server shoot up.  After 30-60 minutes, the server
>> starts
>> > accepting updates again, without intervention on my part.  Also, during
>> the
>> > lock, I am still able to /select.  I just can't /update.
>> >
>> > I viewed the thread dump in the admin panel during the last lockup, and
>> > found a lot of these:
>> >
>> > 'btpool0-868' Id=7582, WAITING on
>> >
>> lock=java.util.concurrent.locks.reentrantreadwritelock$nonfairs...@6648711e
>> ,
>> > total cpu time=0.0000ms user time=0.0000ms
>> > ... (java.util stuff)
>> >
>> org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:211)
>> >
>> > I'm using Solr 1.4.0, SolrJ 1.4.1 (StreamingUpdateSolrServer), and Java
>> > 1.6.0 64bit on CentOS.
>> >
>> > My questions...
>> >
>> > 1) Has anybody else experienced this?
>> > 2) Has this been addressed in Solr 1.4.0?
>> > 3) How can I stop this from happening?
>> >
>> > Thanks!
>> > Devin
>> >
>>
>



-- 
Lance Norskog
goks...@gmail.com

Reply via email to