Lets say, when transient fault occurs while processing batch of events from Azure EventHub & transient fault continues even after retries then what kind of exception can be thrown to Eventhub from processor? so that Azure eventhub can able to send same batch of events again (replay) to the same processor instance (without moving forward the checkpointer) for reprocessing.
Package "Microsoft.Azure.WebJobs.Extensions.EventHubs" Version="5.1.2"
Azure function is the client which runs on AKS with KEDA scaling configuration
CodePudding user response:
In a nutshell - there is no exception that your code can throw that would stop checkpointing in an Azure Function app.
Functions has a unique model in that checkpointing is automatic and it moves forward regardless of success or failure of the processing code that is executing.
The most common pattern for when your Function encounters an error where it cannot process an event, is to dead-letter it so that another application can revisit and process it in the future. More detail and other patterns to consider can be found in the article Resilient Event Hubs and Functions design.
If none of these work in your application scenario, your best path forward would likely be to consider not using Functions as a host platform and use the event processor directly in your application. That would give you full control over when checkpoints are emitted.