277
func (a *Activity) HandleStarted(ctx chasm.MutableContext, request *historyservice.RecordActivityTaskStartedRequest) (
278
*historyservice.RecordActivityTaskStartedResponse, error,
280
>
lastAttempt := a.LastAttempt.Get(ctx)
281
>
// If already started, return existing response if request ID matches to make retry idempotent, else error.
282
>
if a.StateMachineState() == activitypb.ACTIVITY_EXECUTION_STATUS_STARTED && request.GetRequestId() == lastAttempt.GetStartRequestId() {
283
return a.GenerateRecordActivityTaskStartedResponse(ctx, request.GetPollRequest().GetNamespace())
284
}