Azure / Azure/azure-functions-sql-extension

Don't always clear rows being processed when non-recoverable error occurs

Open
#1,000 0 comments 0 reactions 0 assignees View on GitHub
enhancement P1 Triage: Needed trigger
Dominant language
C#
Stars
130
Forks
71
Avg merge
4d 8h
Merged PRs (30d)
4

Description

Currently if an exception occurs while processing rows we will clear those rows from internal memory and move on - which means those rows won't be processed again until the 60sec timeout has passed. But there are many transient errors - such as deadlocks - that can happen, and so clearing the rows in those cases just needlessly delays the processing of those rows.

It would be much better to try and determine if the exception that occurred was recoverable/transient, and if so not clear the rows from memory (instead just reprocessing them again).

Contributor guide

Open the contributing guide

Research direction

Locate the row-processing and exception-handling path in the Azure Functions SQL extension, then inspect how rows are removed after failures. Check how transient errors such as deadlocks can be identified and how the existing retry or timeout behavior works. Done means recoverable errors retain rows for retry while non-recoverable errors continue to clear them; the issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, sql
Domain
backend, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.