Open H-Finch-404 opened 12 months ago
Turns out restarting the Function App manually from Portal created the file. However we did multiple deployments in the timespan of enabling the dynamic concurrency (with snapshot persistence), which should trigger a restart if I remember correctly? This is of course also not expected behavior since we want to avoid downtime by manually restarting the Function App.
Turns out restarting the Function App manually from Portal created the file. However we did multiple deployments in the timespan of enabling the dynamic concurrency (with snapshot persistence), which should trigger a restart if I remember correctly? This is of course also not expected behavior since we want to avoid downtime by manually restarting the Function App.
The manual restart only seemed to persist the concurrency config to storage once with the following contents: {"Timestamp":"2023-11-13T15:16:52.1757275Z","NumberOfCores":1,"FunctionSnapshots":{}}
As you can see the FunctionSnapshots are completely empty. We also do not see any subsequent attempts (e.g. PUT requests) being made to store an updated concurrency configuration (even though we can see the dynamic concurrency working by verifying logs that incidicate concurrency increases)
We want to use dynamic concurrency with snapshotPersistenceEnabled on our ServiceBus triggers, but it does not seems to be storing the concurrency configuration snapshots to the connected storage account.
Repro steps
Expected behavior
When dynamic concurrency is enabled together with snapshotPersistenceEnabled setting to true, concurrency configuration should be read/written to/from connected storage account so that a function instance does not have to relearn its concurrency settings from start.
Actual behavior
When dynamic concurrency is enabled together with snapshotPersistenceEnabled setting to true, concurrency settings should be saved and read from connected storage account.
Known workarounds
None.
Related information
I traced back the repository code that handles the concurrency snapshot persistence -> https://github.com/Azure/azure-webjobs-sdk/blob/7b8916156d27e6661d3e287a5902cdba98f953cd/src/Microsoft.Azure.WebJobs.Host.Storage/BlobStorageConcurrencyStatusRepository.cs. Initial log search debugging with following query :
shows that attempts to read the concurrencyStatus.json file are made: GET https://storage account URL/azure-webjobs-hosts/concurrency/function name/concurrencyStatus.json
However, I do not see any PUT's/POSTS to create the file in the first place.