How are retries handled when activity interface has multiple methods?


I have a use-case where one @ActivityInterface has multiple @ActivityMethod which are invoked in a sequence from the workflow.
For Example: If activity has 3 @ActivityMethod’s - one, two and three. And if runtime exception is thrown from method three, would temporal retry activity one and two ?

Each activity method is an independent activity even if they share the same interface. By default Temporal retries only a single activity invocation. So in your example only the activity of the method three will be retried.

Thanks @maxim In that case, would the RetryOptions be shared across the 3 activity methods. For example: If retryOptions are set for max of 5 retries and If method one throws runtime exception and is retried, and if method two throws runtime exception twice then method three could only be retries twice (since 3 retries are already utilized). Or would each method have their maxRetry count as 5 ?

RetryOptions are the same, but the state of retries is not shared. So each method has its max retry count set to 5.