azure-application-insightsazure-api-managementazure-log-analytics

What's the difference between transfer-response and forward-request errors in API management?


A large number requests over our Azure API Management result in the ClientConnectionFailure exception.

By querying the logs I see two variants of the error:

exceptions
| where cloud_RoleName == "..." 
| summarize num = count(itemCount) by problemId, outerMessage 
| order by num
  1. problemId: ClientConnectionFailure at transfer-response, outermessage: A task was canceled, count 403,249
  2. problemId: ClientConnectionFailure at forward-request, outermessage: The operation was canceled, count 55,531

Based on this post, the problem could be time-outs or that clients abandon connections. With response times generally within 500ms I'm inclined to rule out the first.

The question is: what is the difference between transfer-response and forward-request, and does it provide any clues as to what is going on?


Solution

  • Transfer-response means that the client dropped the connection after it started receiving the response.

    Forward-request means that the client dropped the connection while the APIM gateway was sending the request to the backend or waiting for a response from the backend.