Gateway Timeout when going via Apigee

Not applicable

Hello,

Right, I'm having a similar issue to this ticket.

The stack is as follows:

Apigee -> nginx -> Java Web App The Java Web App takes ~180 seconds to respond with data after a particular call.

Having configured nginx so that it no longer timeouts within this period of time I began to look at configuring Apigee using the following values:

            <Property name="keepalive.timeout.millis">240000</Property>
            <Property name="io.timeout.millis">240000</Property>
            <Property name="connect.timeout.millis">240000</Property>

From this we can see that the three timeout values have been set to 4mins, which is far greater than the time it takes for the application to return a payload (3 mins). When making a curl request via nginx (thereby skipping Apigee); the request is successful.

cUrl: Response Code: 200 Time: 2m53.865s
nginx: Repsonse Code in access logs: 200
Java: Response server successfully

Now, when I go via Apigee with the above timeout values applied to the target endpoint:

cUrl: Response Code: 504 Time: 59.725s
Apigee: Response Code: 200 Time: 168,498ms
nginx: Repsonse Code in access logs: 200
Java: Response server successfully

So it seems that Apigee is returning a 504 to cUrl but still waits for the response to complete.

I couldn't see a solution on the linked ticket, any advice would be grand 🙂

Thanks

A

1 2 2,000
2 REPLIES 2

Dear @alex.tylor,

Your approach is systematic and in the right direction. When we consider time taken for response payload, within Apigee you need to keep the following in mind

  • io.timeout.millis is the one that matters, which you've already set as 4mins > expected response time (3mins)
  • Apigee can have these components - load balancers, routers, message processors. You need to check the timeout set on each of these components. If any of them has value lower than 3 mins, then you will get 504 Gateway timeout.

Is this issue seen in your OPDK installation or Cloud ? If it is cloud, could you please provide the org name and env name in which you are seeing this issue ?

Thanks,

Amar

Not applicable

Thanks for your response. You are right. Essentially we have a cloud installation and this was settled in a service ticket however to all those out there that encounter the same issue, I had to work with an engineer to make the changes on the ELB's