-
Notifications
You must be signed in to change notification settings - Fork 355
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
Confirm some test cases for retry policy #2624
Comments
Tested and added notes for FunctionTimeout and Drain Mode section in the description. |
Test : Consumption plan + Azure Storage Queue Trigger + Infinite Retries By default Azure Storage Queue Trigger retries 5 times i.e. dequeueCount < 5 . If Message dequeue count exceeds 5, message is moved to poison queue. If host retry is configured, on a single host instance message will be retried without incrementing dequeueCount. If the host instance goes down, then message will be picked up by a new host instance and dequeueCount will be incremented. If over a period of time, message is processed by 5 different host instances, then message will be moved to poison queue as dequeueCount for the message is now 5. Test files used: host.json {
"version": "2.0",
"retry": {
"strategy": "fixedDelay",
"maxRetryCount": -1,
"delayInterval":"00:00:30"
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[1.*, 2.0.0)"
}
} index.js module.exports = async function (context, myQueueItem) {
context.log('JavaScript queue trigger function processed work item', myQueueItem);
throw new Error('An error occurred');
}; |
Per early feedback and questions around retry policy, want to test a few scenarios to confirm:
Scale controller behavior
Queue retry behavior
Function timeout
DotNet functions running in host process:
Non DotNet functions running in a language worker process
Drain Mode
If Drain api is called while function executions are waiting on retries, retries will continue as long as function host instance is not teared down. Any trigger listeners will be gracefully shutdown and new invocations will not be happening on this function host instance.
The text was updated successfully, but these errors were encountered: