Open
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).