You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Phill Campbell <Si...@yahoo.com.INVALID> on 2020/05/12 20:08:37 UTC

Solr 8.5.1 query timeAllowed exceeded throws exception


org.apache.solr.client.solrj.SolrServerException: Time allowed to handle this request exceeded:…
	at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:345)
	at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.sendRequest(BaseCloudSolrClient.java:1143)
	at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.requestWithRetryOnStaleState(BaseCloudSolrClient.java:906)
	at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.request(BaseCloudSolrClient.java:838)
	at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:211)
	at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:1035)
...
	at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
	at java.util.concurrent.FutureTask.run(FutureTask.java)
	at javax.swing.SwingWorker.run(SwingWorker.java:334)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://10.156.112.50:10001/solr/BTS: java.lang.NullPointerException

	at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:665)
	at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:265)
	at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:248)
	at org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:368)
	at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:296)


The timeAllowed is set to 8 seconds. I am using a StopWatch to verify that the round trip was greater than 8 seconds.

Documentation states:

timeAllowed Parameter
This parameter specifies the amount of time, in milliseconds, allowed for a search to complete. If this time expires before the search is complete, any partial results will be returned, but values such as numFound, facet counts, and result stats may not be accurate for the entire result set. In case of expiration, if omitHeader isn’t set to true the response header contains a special flag called partialResults.

I do not believe I should be getting an exception.

I am load testing so I am intentionally putting pressure on the system.

Is this the correct behavior to throw an exception?

Regards.

Re: Solr 8.5.1 query timeAllowed exceeded throws exception

Posted by ART GALLERY <al...@goretoy.com>.
check out the videos on this website TROO.TUBE don't be such a
sheep/zombie/loser/NPC. Much love!
https://troo.tube/videos/watch/aaa64864-52ee-4201-922f-41300032f219

On Tue, May 12, 2020 at 5:37 PM Phill Campbell
<Si...@yahoo.com.invalid> wrote:
>
> Upon examining the Solr source code it appears that it was unable to even make a connection in the time allowed.
> While the error message was a bit confusing, I do understand what it means.
>
>
> > On May 12, 2020, at 2:08 PM, Phill Campbell <Si...@yahoo.com.INVALID> wrote:
> >
> >
> >
> > org.apache.solr.client.solrj.SolrServerException: Time allowed to handle this request exceeded:…
> >       at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:345)
> >       at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.sendRequest(BaseCloudSolrClient.java:1143)
> >       at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.requestWithRetryOnStaleState(BaseCloudSolrClient.java:906)
> >       at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.request(BaseCloudSolrClient.java:838)
> >       at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:211)
> >       at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:1035)
> > ...
> >       at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
> >       at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
> >       at java.util.concurrent.FutureTask.run(FutureTask.java)
> >       at javax.swing.SwingWorker.run(SwingWorker.java:334)
> >       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >       at java.lang.Thread.run(Thread.java:748)
> > Caused by: org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://10.156.112.50:10001/solr/BTS: java.lang.NullPointerException
> >
> >       at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:665)
> >       at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:265)
> >       at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:248)
> >       at org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:368)
> >       at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:296)
> >
> >
> > The timeAllowed is set to 8 seconds. I am using a StopWatch to verify that the round trip was greater than 8 seconds.
> >
> > Documentation states:
> >
> > timeAllowed Parameter
> > This parameter specifies the amount of time, in milliseconds, allowed for a search to complete. If this time expires before the search is complete, any partial results will be returned, but values such as numFound, facet counts, and result stats may not be accurate for the entire result set. In case of expiration, if omitHeader isn’t set to true the response header contains a special flag called partialResults.
> >
> > I do not believe I should be getting an exception.
> >
> > I am load testing so I am intentionally putting pressure on the system.
> >
> > Is this the correct behavior to throw an exception?
> >
> > Regards.
>

Re: Solr 8.5.1 query timeAllowed exceeded throws exception

Posted by Mikhail Khludnev <mk...@apache.org>.
While java.lang.NullPointerException seems odd. Overall system behavior
seems sane. Overloaded system might not accept incoming connections, and it
triggers exception on the client side.
Overall, please add more details, like serverside logs or so, so far it's
not clear.

On Wed, May 13, 2020 at 1:37 AM Phill Campbell
<Si...@yahoo.com.invalid> wrote:

> Upon examining the Solr source code it appears that it was unable to even
> make a connection in the time allowed.
> While the error message was a bit confusing, I do understand what it means.
>
>
> > On May 12, 2020, at 2:08 PM, Phill Campbell
> <Si...@yahoo.com.INVALID> wrote:
> >
> >
> >
> > org.apache.solr.client.solrj.SolrServerException: Time allowed to handle
> this request exceeded:…
> >       at
> org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:345)
> >       at
> org.apache.solr.client.solrj.impl.BaseCloudSolrClient.sendRequest(BaseCloudSolrClient.java:1143)
> >       at
> org.apache.solr.client.solrj.impl.BaseCloudSolrClient.requestWithRetryOnStaleState(BaseCloudSolrClient.java:906)
> >       at
> org.apache.solr.client.solrj.impl.BaseCloudSolrClient.request(BaseCloudSolrClient.java:838)
> >       at
> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:211)
> >       at
> org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:1035)
> > ...
> >       at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
> >       at
> java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
> >       at java.util.concurrent.FutureTask.run(FutureTask.java)
> >       at javax.swing.SwingWorker.run(SwingWorker.java:334)
> >       at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >       at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >       at java.lang.Thread.run(Thread.java:748)
> > Caused by:
> org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error
> from server at http://10.156.112.50:10001/solr/BTS:
> java.lang.NullPointerException
> >
> >       at
> org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:665)
> >       at
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:265)
> >       at
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:248)
> >       at
> org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:368)
> >       at
> org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:296)
> >
> >
> > The timeAllowed is set to 8 seconds. I am using a StopWatch to verify
> that the round trip was greater than 8 seconds.
> >
> > Documentation states:
> >
> > timeAllowed Parameter
> > This parameter specifies the amount of time, in milliseconds, allowed
> for a search to complete. If this time expires before the search is
> complete, any partial results will be returned, but values such as
> numFound, facet counts, and result stats may not be accurate for the entire
> result set. In case of expiration, if omitHeader isn’t set to true the
> response header contains a special flag called partialResults.
> >
> > I do not believe I should be getting an exception.
> >
> > I am load testing so I am intentionally putting pressure on the system.
> >
> > Is this the correct behavior to throw an exception?
> >
> > Regards.
>
>

-- 
Sincerely yours
Mikhail Khludnev

Re: Solr 8.5.1 query timeAllowed exceeded throws exception

Posted by Phill Campbell <Si...@yahoo.com.INVALID>.
Upon examining the Solr source code it appears that it was unable to even make a connection in the time allowed.
While the error message was a bit confusing, I do understand what it means.


> On May 12, 2020, at 2:08 PM, Phill Campbell <Si...@yahoo.com.INVALID> wrote:
> 
> 
> 
> org.apache.solr.client.solrj.SolrServerException: Time allowed to handle this request exceeded:…
> 	at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:345)
> 	at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.sendRequest(BaseCloudSolrClient.java:1143)
> 	at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.requestWithRetryOnStaleState(BaseCloudSolrClient.java:906)
> 	at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.request(BaseCloudSolrClient.java:838)
> 	at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:211)
> 	at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:1035)
> ...
> 	at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
> 	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java)
> 	at javax.swing.SwingWorker.run(SwingWorker.java:334)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://10.156.112.50:10001/solr/BTS: java.lang.NullPointerException
> 
> 	at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:665)
> 	at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:265)
> 	at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:248)
> 	at org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:368)
> 	at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:296)
> 
> 
> The timeAllowed is set to 8 seconds. I am using a StopWatch to verify that the round trip was greater than 8 seconds.
> 
> Documentation states:
> 
> timeAllowed Parameter
> This parameter specifies the amount of time, in milliseconds, allowed for a search to complete. If this time expires before the search is complete, any partial results will be returned, but values such as numFound, facet counts, and result stats may not be accurate for the entire result set. In case of expiration, if omitHeader isn’t set to true the response header contains a special flag called partialResults.
> 
> I do not believe I should be getting an exception.
> 
> I am load testing so I am intentionally putting pressure on the system.
> 
> Is this the correct behavior to throw an exception?
> 
> Regards.