You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by "Neubert, Joachim" <J....@zbw.eu> on 2014/11/26 08:12:01 UTC

Query aborts with 502 behind reverse proxy

I use Fuseki behind a apache reverse proxy. A query which takes about 90 seconds when put directly to Jetty, aborts invariably after 60 seconds with an "The proxy server received an invalid response from an upstream server. The proxy server could not handle the request" message by apache.

In the apache config, I set all values known to me to 10 minutes:

Keepalive On
Timeout 600
ProxyTimeout 600

ProxyPass         /beta/sparql/thesozv/query  http://127.0.0.1:3030/thesozv/query timeout=600 Keepalive=On
ProxyPassReverse  /beta/sparql/thesozv/query  http://127.0.0.1:3030/thesozv/query

Jetty configuration is a bit a black box for me. However I found that there seems to be a 60 second default timeout in the ProxyServlet (init parameter "timeout" - http://www.eclipse.org/jetty/documentation/current/proxy-servlet.html).

I'm not sure if this setting is involved at all, and how I could set it, or what could be wrong otherwise. Help would be greatly appreciated.

Cheers, Joachim

RE: Query aborts with 502 behind reverse proxy

Posted by "Neubert, Joachim" <J....@zbw.eu>.
Hi Andy,

I'm now quite sure that the timeout problem is not related to our server itself. But there is indeed a load balancer involved (and perhaps other components out of my scope), and if I circumvent that, the query works even with the reverse proxy. 

Not sure if _that_ issue can be fixed. But thank you very much for the hint.

Cheers, Joachim


> -----Original Message-----
> From: Andy Seaborne [mailto:andy@apache.org]
> Sent: Wednesday, November 26, 2014 11:11 AM
> To: users@jena.apache.org
> Subject: Re: Query aborts with 502 behind reverse proxy
> 
> On 26/11/14 07:12, Neubert, Joachim wrote:
> > I use Fuseki behind a apache reverse proxy. A query which takes about 90
> seconds when put directly to Jetty, aborts invariably after 60 seconds with
> an "The proxy server received an invalid response from an upstream server.
> The proxy server could not handle the request" message by apache.
> >
> > In the apache config, I set all values known to me to 10 minutes:
> >
> > Keepalive On
> > Timeout 600
> > ProxyTimeout 600
> >
> > ProxyPass         /beta/sparql/thesozv/query
> http://127.0.0.1:3030/thesozv/query timeout=600 Keepalive=On
> > ProxyPassReverse  /beta/sparql/thesozv/query
> > http://127.0.0.1:3030/thesozv/query
> >
> > Jetty configuration is a bit a black box for me. However I found that there
> seems to be a 60 second default timeout in the ProxyServlet (init parameter
> "timeout" - http://www.eclipse.org/jetty/documentation/current/proxy-
> servlet.html).
> >
> > I'm not sure if this setting is involved at all, and how I could set it, or what
> could be wrong otherwise. Help would be greatly appreciated.
> >
> > Cheers, Joachim
> >
> 
> Joachim,
> 
> Nothing jumps out at me.  We run with a setup that allows queries longer
> than 60s.  We rely on the Fuseki timeout and bump other timeouts above
> that so only one system is causing a timeout.
> 
> The httpd default timeout is 300s IIRC.
> 
> We don't set Keepalive=On. We don't have a ProxyPassReverse directive.
> 
> We do set max= to stop too many queries at one time.
> 
> Fuseki does not use ProxyServlet.
> 
> Aside
> 
> An AWS-ism: the load balancers default to a 60s timeout.  Nowadays (since
> July this year, 2014) you can increase that to 5 mins in the UI.
> 
> 	Andy


Re: Query aborts with 502 behind reverse proxy

Posted by Andy Seaborne <an...@apache.org>.
On 26/11/14 07:12, Neubert, Joachim wrote:
> I use Fuseki behind a apache reverse proxy. A query which takes about 90 seconds when put directly to Jetty, aborts invariably after 60 seconds with an "The proxy server received an invalid response from an upstream server. The proxy server could not handle the request" message by apache.
>
> In the apache config, I set all values known to me to 10 minutes:
>
> Keepalive On
> Timeout 600
> ProxyTimeout 600
>
> ProxyPass         /beta/sparql/thesozv/query  http://127.0.0.1:3030/thesozv/query timeout=600 Keepalive=On
> ProxyPassReverse  /beta/sparql/thesozv/query  http://127.0.0.1:3030/thesozv/query
>
> Jetty configuration is a bit a black box for me. However I found that there seems to be a 60 second default timeout in the ProxyServlet (init parameter "timeout" - http://www.eclipse.org/jetty/documentation/current/proxy-servlet.html).
>
> I'm not sure if this setting is involved at all, and how I could set it, or what could be wrong otherwise. Help would be greatly appreciated.
>
> Cheers, Joachim
>

Joachim,

Nothing jumps out at me.  We run with a setup that allows queries longer 
than 60s.  We rely on the Fuseki timeout and bump other timeouts above 
that so only one system is causing a timeout.

The httpd default timeout is 300s IIRC.

We don't set Keepalive=On. We don't have a ProxyPassReverse directive.

We do set max= to stop too many queries at one time.

Fuseki does not use ProxyServlet.

Aside

An AWS-ism: the load balancers default to a 60s timeout.  Nowadays 
(since July this year, 2014) you can increase that to 5 mins in the UI.

	Andy