-
Notifications
You must be signed in to change notification settings - Fork 273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ReadEntityStateAsync sometimes fails with HTTP 412 when calling Azure Storage #1406
Comments
Thanks for these details. It seems to me that the size of your entity is sufficiently large that we're saving it into blob storage, and somehow the download of that state is somehow failing (relevant source code is here). I'm not sure why it would be failing though. Just to confirm, you're seeing function execution failures because of these errors? |
That's right. We have an EventGridTrigger function that gets triggered and that function calls |
@jriouxrandstadca I wasn't able to reproduce the exception in order to find a fix. Is there any other information you can give to help me reproduce it? |
@bachuv Hi, it happened again this morning. Http error 412 when trying to read a blob
|
@bachuv I found this post that describes a similar problem: https://stackoverflow.com/questions/5094089/azure-blob-the-condition-specified-using-http-conditional-headers-is-not-met. Basically, it looks like certain blob APIs can suffer from race conditions if someone tries to download the blob while it is being actively updated (which is quite surprising to me). Looking at our code, it seems like we might be at risk for the exact same race condition: The solution in the post implies that we should use |
Description
We have a function app that's using durable entities to store a big chunk of data. The app can run seamlessly for days and then suddenly we have a wave of StorageException.
Message:
Exception while executing function: One or more errors occurred. (The condition specified using HTTP conditional header(s) is not met.) The condition specified using HTTP conditional header(s) is not met.
Exception type:
Microsoft.WindowsAzure.Storage.StorageException
Failed method:
DurableTask.AzureStorage.MessageManager.Decompress
Known workarounds
None that we know of.
App Details
Screenshots
If deployed to Azure
The text was updated successfully, but these errors were encountered: