Re: Solr client 'Timeout was reached' ~ when new documents are inserted and commits are made.
On 9/27/2013 8:37 AM, Shawn Heisey wrote: > INFO - 2013-09-27 08:27:00.806; > org.apache.solr.update.processor.LogUpdateProcessor; [inclive] > webapp=/solr path=/update params={wt=javabin&version=2} > {add=[notimexpix438424 (144734108581888), notimexpix438425 > (1447341085825171456), notimexpix438426 (1447341085826220032), > notimexpix438427 (1447341085826220033), notimexpix438428 > (1447341085827268608), notimexpix438429(1447341085828317184), > notimexpix438430 (1447341085829365760), notimexpix438431 > (1447341085830414336), notimexpix438432 (1447341085831462912), > notimexpix438433 (1447341085831462913), ... (66 adds)]} 0 181 > > INFO - 2013-09-27 08:27:01.975; > org.apache.solr.update.processor.LogUpdateProcessor; [inclive] > webapp=/solr path=/update > params={waitSearcher=true&commit=true&wt=javabin&version=2&softCommit=false} > {commit=} 0 1065 > > Note that the QTime doesn't represent the total amount of time for the > request, because it only measures the part that's in under the control > of the specific class that's generating the log - in this case > LogUpdateProcessor. It can't measure the time the servlet container > takes to handle the HTTP conversation, or any part of the request that > takes place in Solr classes called before or after LogUpdateProcessor. I can illustrate the difference between QTime and the actual transaction time by showing you the log entries from the application that correspond exactly to the Solr log entries I shared: INFO - 2013-09-27 08:27:00.815; chain.c: Insert done, 66, time = 315 INFO - 2013-09-27 08:27:01.976; chain.c: Commit done, time = 1161 The add request with 66 documents had a QTime of 181, but took 315 milliseconds. The commit had a QTime of 1065, but actually took 1161 milliseconds. Thanks, Shawn
Re: Solr client 'Timeout was reached' ~ when new documents are inserted and commits are made.
On 9/27/2013 7:41 AM, Rafał Radecki wrote: > On client side timeout is set to 5s but when I look in solr log I see QTime > less than 5000 (in ms). We use jetty to start solr process, where should I > look for directives connected with timeouts? Five seconds is WAY too short a timeout for the entire http conversation. Generally a timeout is not required, but if you feel you need to set one, set it in terms of minutes, with one minute as an absolute minimum. Updates generally take longer than queries. The amount of time taken for the update itself is usually fairly small, but after a commit there is usually cache warming, which depending on your configuration can take quite a while. I'm pretty sure that you won't see the QTime of update requests in the log, at least not listed as "QTime" like it is on queries. Here are two entries from my log, one for the doc insert, the other for the commit. I believe the last number is the QTime, but it doesn't *say* QTime. INFO - 2013-09-27 08:27:00.806; org.apache.solr.update.processor.LogUpdateProcessor; [inclive] webapp=/solr path=/update params={wt=javabin&version=2} {add=[notimexpix438424 (144734108581888), notimexpix438425 (1447341085825171456), notimexpix438426 (1447341085826220032), notimexpix438427 (1447341085826220033), notimexpix438428 (1447341085827268608), notimexpix438429(1447341085828317184), notimexpix438430 (1447341085829365760), notimexpix438431 (1447341085830414336), notimexpix438432 (1447341085831462912), notimexpix438433 (1447341085831462913), ... (66 adds)]} 0 181 INFO - 2013-09-27 08:27:01.975; org.apache.solr.update.processor.LogUpdateProcessor; [inclive] webapp=/solr path=/update params={waitSearcher=true&commit=true&wt=javabin&version=2&softCommit=false} {commit=} 0 1065 Note that the QTime doesn't represent the total amount of time for the request, because it only measures the part that's in under the control of the specific class that's generating the log - in this case LogUpdateProcessor. It can't measure the time the servlet container takes to handle the HTTP conversation, or any part of the request that takes place in Solr classes called before or after LogUpdateProcessor. Thanks, Shawn
Re: Solr client 'Timeout was reached' ~ when new documents are inserted and commits are made.
On client side timeout is set to 5s but when I look in solr log I see QTime less than 5000 (in ms). We use jetty to start solr process, where should I look for directives connected with timeouts?
Re: Solr client 'Timeout was reached' ~ when new documents are inserted and commits are made.
No, this isn't normal. You probably have your servlet container or your clients have a too-short timeout. How long are we talking about here anyway? Best, Erick On Fri, Sep 27, 2013 at 8:57 AM, Rafał Radecki wrote: > Hi All. > > I have a solr 3.5 multicore installation. It has ~250 of documents, > ~1,5GB of index data. > When the solr is feed with new documents I see for a few seconds timeouts > 'Timeout was reached' on clients. > Is it normal behaviour of solr during inserting of new documents? > > Best regards, > Rafał Radecki.