Azure Log Analytics query intermittently times out before response headers

Taufiq ALblooshi 0 Reputation points
2026-09-19T18:33:19.2166667+00:00

We are investigating an intermittent Azure Log Analytics query timeout that is blocking validation of a non-production COMPAT migration.

Workspace: workspace-rgbemtechcompatuaenoDtK

Workspace ID: 5ff58100-06de-46f9-9eea-af42ed147a74

Resource group: rg-bemtech-compat-uaen

Subscription: 7a3a1d7d-d830-4236-a88d-198471f0bde0

All timestamps below are UTC on 2026-09-19.

Observed failure:

A required application-coverage query timed out before response headers at the client's unchanged 20-second deadline.

Start: 11:49:48.671

End: 11:50:08.674

Elapsed: 20,003 ms

No HTTP response status or response body was received.

Query SHA-256:

e935b2f080199d51d0e8b38c396c94ca76673ceb17b64a56cd986aae272596c2

This does not establish an Azure service fault or an application failure.

Successful comparison:

At 12:18:51.865, a query took approximately 8.826 seconds to response headers, although reported query-engine execution was approximately 26.8 ms.

Provider request ID:

3d77488a-f516-4424-9818-8f67076ee823

Azure-hosted successful comparisons using managed identity:

Four responses returned HTTP 200 in 2442, 2189, 267 and 699 ms.

Cold comparison at 15:36:33.377:

Provider request ID:

af09a46f-0950-4d7e-8602-9cd052026791

Client request ID:

f262a31e-bfb4-45fc-bee8-f8c5e8418db0

The request body had been sent at approximately 113 ms; response headers arrived at approximately 2440 ms, while reported query-engine execution was approximately 11 ms.

Latest comparison at 15:36:53.285:

Provider request ID:

620b8266-dddd-43a7-8f36-1cd47498485f

Client request ID:

83dae89a-75b6-48c1-99e6-1fc19753f441

The comparison request IDs identify successful requests, not the original timed-out request.

A temporary managed-identity query grant used for diagnostics has already been removed and its absence verified.

Could a Microsoft/Azure engineer please advise whether service-side correlation is possible for the incident and comparison requests, including receive, authentication/routing, queue, execution and response timings?

If the original timed-out request cannot be located or those service-side traces are unavailable through Microsoft Q&A, please explicitly confirm that limitation and advise the minimum additional diagnostic capture or appropriate escalation path required.

Please do not change access permissions, resource configuration, or retention. No credentials, business records, or raw application logs are included.

Azure Monitor
Azure Monitor

An Azure service that is used to collect, analyze, and act on telemetry data from Azure and on-premises environments.

0 comments No comments

1 answer

Sort by: Newest
  1. Allan Solomon Mejia 10,225 Reputation points
    2026-09-20T17:40:08.6866667+00:00

    Hi @Taufiq ALblooshi

    Based on the timings you've captured, I don't think the evidence currently points to the KQL query itself being slow.

    Your successful comparisons are particularly useful here. For example, one request took approximately 8.826 seconds before response headers arrived, while the reported query-engine execution time was only about 26.8 ms. Your later comparison similarly took about 2.44 seconds to receive response headers, while query execution was approximately 11 ms.

    That suggests most of the observed latency is occurring outside the measured query-engine execution interval. It could be somewhere in request receipt, authentication/authorization, routing, queueing, front-end processing, or response handling, but the client-side evidence alone cannot determine which component is responsible.

    The original failure also differs slightly from a normal Azure Monitor Logs server-side query timeout. Microsoft documents a 3-minute default server timeout, configurable up to 10 minutes using Prefer: wait=<seconds>. When that server-side timeout is exceeded, the API returns HTTP 504. In your case, the client stopped waiting at its unchanged 20-second deadline and received no response headers, so I wouldn't classify that event as a confirmed Azure Logs query timeout/504.

    Also, don't increase the server-side Prefer: wait value as the first fix here. Your query-engine timings are measured in milliseconds, while the unexplained delay occurs before the client receives the response headers.

    For the next diagnostic run, add:

    Prefer: include-statistics=true
    Prefer: include-dataSources=true
    

    include-statistics returns query execution/resource statistics, while include-dataSources identifies the regions, workspaces, clusters, and tables involved in processing the request.

    Most importantly, generate and retain a unique client request ID for every attempt, including the attempt that times out. The successful provider/client request IDs you supplied are useful comparison points, but as you've correctly noted, they don't identify the original failed request.

    Microsoft Q&A participants don't have access to Azure's internal service traces needed to break a request down into receive → authentication/routing → queue → execution → response timings. The IDs and UTC timestamps you've captured are therefore exactly the sort of information I would preserve for an Azure support investigation.

    For the next occurrence, capture the UTC start/end time, workspace ID, client request ID, source environment, authentication method, client-side elapsed time, whether any HTTP status/headers were received, and the corresponding successful request immediately before/after it. Since the original failure produced no response headers, a client request ID is especially important for attempting server-side correlation.

    One additional comparison would be useful without changing the workspace configuration: run the identical query against the identical workspace from the same client several times, then repeat it from the Azure-hosted managed-identity path you've already tested. If the Azure-hosted requests remain consistently fast while only the original client path intermittently stalls before headers, that provides useful evidence for separating a service/query issue from the client/network path. It still wouldn't by itself prove where the delay occurs.

    Azure Monitor also imposes query concurrency and rate limits, but those normally produce defined HTTP responses such as 429 when the applicable limits are exceeded. The documented Analytics-table limit is five concurrent queries per user, with queued queries terminated after three minutes, which doesn't match a client-side 20-second timeout with no HTTP response.

    So at this stage, preserve the current configuration and focus on obtaining a correlatable ID from an actual timed-out request rather than changing permissions, retention, or the query.

    References:

    Azure Monitor Logs - Query timeouts and errors

    Azure Monitor Logs - Prefer options and query statistics

    Azure Monitor service limits


    Help make this community better for everyone: If this answer helped or resolved your issue, please accept it or upvote it. If not, share more details in a comment so we can continue the discussion and find the right solution. Thank you.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.