mirror of
https://github.com/hanzoai/tasks.git
synced 2026-10-04 02:04:03 +00:00
## What changed? Change default `ResetReapply` enum value to `ALL_ELIGIBLE`. ## Why? Reverts temporalio/temporal#5688, i.e. after this PR we will have the behavior described in https://github.com/temporalio/temporal/pull/5360. This means both signals *and* updates will be reapplied by default during resets and coinflict resolution, which is the product behavior we want. ### Explanation - #5360 attempted to introduce a new proto enum value and start using it as the default - However, that is not a valid single-deploy change, since it can cause a frontend client on the new version to send a value that is unknown to a history node on the old version. - Therefore #5688 reverted the change to the default, allowing the new proto enum value to be introduced to the codebase - This PR is deployable iff all clusters that we deploy to have #5360 deployed ## How did you test it? I didn't. Tests were added in the original PR https://github.com/temporalio/temporal/pull/5360. ## Potential risks Could break reset or history conflict resolution. ## Is hotfix candidate? 1.25.1
87 lines
3.0 KiB
Go
87 lines
3.0 KiB
Go
// The MIT License
|
|
//
|
|
// Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
|
|
//
|
|
// Copyright (c) 2020 Uber Technologies, Inc.
|
|
//
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
// of this software and associated documentation files (the "Software"), to deal
|
|
// in the Software without restriction, including without limitation the rights
|
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
// copies of the Software, and to permit persons to whom the Software is
|
|
// furnished to do so, subject to the following conditions:
|
|
//
|
|
// The above copyright notice and this permission notice shall be included in
|
|
// all copies or substantial portions of the Software.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
// THE SOFTWARE.
|
|
|
|
package enums
|
|
|
|
import (
|
|
enumspb "go.temporal.io/api/enums/v1"
|
|
)
|
|
|
|
func SetDefaultWorkflowIdReusePolicy(f *enumspb.WorkflowIdReusePolicy) {
|
|
if *f == enumspb.WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED {
|
|
*f = enumspb.WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE
|
|
}
|
|
}
|
|
|
|
func SetDefaultWorkflowIdConflictPolicy(
|
|
conflictPolicy *enumspb.WorkflowIdConflictPolicy,
|
|
defaultPolicy enumspb.WorkflowIdConflictPolicy,
|
|
) {
|
|
if *conflictPolicy == enumspb.WORKFLOW_ID_CONFLICT_POLICY_UNSPECIFIED {
|
|
*conflictPolicy = defaultPolicy
|
|
}
|
|
}
|
|
|
|
func SetDefaultHistoryEventFilterType(f *enumspb.HistoryEventFilterType) {
|
|
if *f == enumspb.HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED {
|
|
*f = enumspb.HISTORY_EVENT_FILTER_TYPE_ALL_EVENT
|
|
}
|
|
}
|
|
|
|
func SetDefaultTaskQueueKind(f *enumspb.TaskQueueKind) {
|
|
if *f == enumspb.TASK_QUEUE_KIND_UNSPECIFIED {
|
|
*f = enumspb.TASK_QUEUE_KIND_NORMAL
|
|
}
|
|
}
|
|
|
|
func SetDefaultParentClosePolicy(f *enumspb.ParentClosePolicy) {
|
|
if *f == enumspb.PARENT_CLOSE_POLICY_UNSPECIFIED {
|
|
*f = enumspb.PARENT_CLOSE_POLICY_TERMINATE
|
|
}
|
|
}
|
|
|
|
func SetDefaultQueryRejectCondition(f *enumspb.QueryRejectCondition) {
|
|
if *f == enumspb.QUERY_REJECT_CONDITION_UNSPECIFIED {
|
|
*f = enumspb.QUERY_REJECT_CONDITION_NONE
|
|
}
|
|
}
|
|
|
|
func SetDefaultContinueAsNewInitiator(f *enumspb.ContinueAsNewInitiator) {
|
|
if *f == enumspb.CONTINUE_AS_NEW_INITIATOR_UNSPECIFIED {
|
|
*f = enumspb.CONTINUE_AS_NEW_INITIATOR_WORKFLOW
|
|
}
|
|
}
|
|
|
|
func SetDefaultResetReapplyType(f *enumspb.ResetReapplyType) {
|
|
if *f == enumspb.RESET_REAPPLY_TYPE_UNSPECIFIED {
|
|
*f = enumspb.RESET_REAPPLY_TYPE_ALL_ELIGIBLE
|
|
}
|
|
}
|
|
|
|
func SetDefaultUpdateWorkflowExecutionLifecycleStage(f *enumspb.UpdateWorkflowExecutionLifecycleStage) {
|
|
if *f == enumspb.UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED {
|
|
*f = enumspb.UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED
|
|
}
|
|
}
|