4.23Retryable versus non-retryable
This is an excellent interview topic.
Suppose:
SALESFORCE:TIMEOUT
Potentially:
retry
Suppose:
SALESFORCE:CONNECTIVITY
Potentially:
retry
But suppose Salesforce says:
INVALID_FIELD
because you referenced:
Foo_Bar__c
which doesn't exist.
Retrying 10 times is pointless.
Likewise:
required field missing
invalid email
validation rule failed
insufficient permission
normally requires configuration/data correction.
So divide failures into:
Transient
---------
timeout
temporary connectivity
service unavailable
rate pressure
Potentially retry
Permanent / business / config
-----------------------------
invalid field
missing required data
validation rule violation
bad object
permission issue
Don't blindly retry