Currently error handlers can only decide to abort or continue the current flush cycle in case of a failure. Another means of dealing with failures is to retry the failed operation.
One could make the retry strategy to use configurable:
* Retry n times * Exponential back-off with n steps and factor m * ...
{{onFailedGridDialectOperation()}} would return RETRY, letting the configured retry strategy take over.
As per the use cases from OGM-465:
{quote} * UC-2.2: I want to *retry* the failed operation for certain exception types; If that succeeds, I want to continue, if that fails, I want to abort the further processing of the flush cycle Example: In case of a {{OgmDatastoreNotAvailableException}} I want to retry twice (my connection is a bit unstable); If it fails I want to give a file with applied changes to someone for manual checking / processing
* UC-2.3: I want to *alter and retry* the failed operation for certain exception types; If that fails, I want to abort the further processing of the flush cycle Example: {quote}
|