Skip to content

ScaleManager.GetTargetScalersResultAsync should only query for concurrency status when Dynamic Concurrency is enabled #3079

Open
@mathewc

Description

Currently the code here in ScaleManager.GetTargetScalersResultAsync get Dynamic Concurrency status results regardless of whether DC is enabled. Even when Dynamic Concurrency isn't enabled, this code ends up generating Info level logs in customer logs like this:

2024-06-17T01:53:44Z   [Information]   Request [4912b6a3-00cf-4e28-9c60-9f53379eba98] GET https://<sitename>.blob.core.windows.net/azure-webjobs-hosts/concurrency/<appname>/concurrencyStatus.json
x-ms-version:2021-08-06
Accept:application/xml
x-ms-client-request-id:4912b6a3-00cf-4e28-9c60-9f53379eba98
x-ms-return-client-request-id:true
User-Agent:azsdk-net-Storage.Blobs/12.13.0 (.NET 6.0.29; Microsoft Windows 10.0.20348)
x-ms-date:Mon, 17 Jun 2024 01:53:43 GMT
Authorization:REDACTED
client assembly: Azure.Storage.Blobs
2024-06-17T01:53:44Z   [Warning]   Error response [4912b6a3-00cf-4e28-9c60-9f53379eba98] 404 The specified blob does not exist. (00.0s)
Server:Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id:392d9bdc-d01e-0036-3659-c0991c000000
x-ms-client-request-id:4912b6a3-00cf-4e28-9c60-9f53379eba98
x-ms-version:2021-08-06
x-ms-error-code:BlobNotFound
Date:Mon, 17 Jun 2024 01:53:42 GMT
Content-Length:215
Content-Type:application/xml

This confuses customers, and generates a lot of log noise. We should only check for this status if DC is enabled. It's not only a logging issue - if DC isn't enabled, we shouldn't be using stale status data for scale decisions. We should do a check similar to the check done here.

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions