Hi folks-- questions about activity errors and retry – I’m using the Go SDK but I think the questions apply generally
- If I use Temporal’s retry policies for the activity I can set a list of string types that are not retryable. I could also raise temporal.NewNonRetryableApplicationError() which is always non-retryable, regardless of the retry policy? Is this correct?
- If the activity will be retried per the policy, does the activity completion future still fire? Within the future, can I tell if the activity is being retried or not? or if it’s already completed? Do I get a different error if the activity has truly, finally failed and is out of retries?
- This example shows error handling in the workflow future-- for example what is done for CustomErrTypeB – but this error handling is in addition to any retry that the retry policy is already doing, correct? Is the retry happening concurrently or does it wait for the future to return? If so, can a retry be canceled from within the future?
- This documentation seems to be incorrect or out of date. I can’t find any such thing as CustomError or GenericError in the Go SDK
- Are there best practices or examples for manually handling retries for more complicated scenarios than what RetryPolicy supports?