Files
tasks/service/history/replication/executable_unknown_task.go
zeekay 5a601d081b rebrand: go.temporal.io/server -> github.com/hanzoai/tasks
Full module path rebrand from Temporal to Hanzo Tasks:
- go.mod module: github.com/hanzoai/tasks
- All internal Go imports updated (1906 files)
- cmd/server renamed to cmd/tasksd
- Binary name: tasksd (was temporal-server)
- Docker images: hanzoai/tasks (was temporalio/server)
- README rewritten with Hanzo Tasks branding
- LLM.md created with integration notes
- Makefile, goreleaser, CI workflows updated
- go.temporal.io/sdk and go.temporal.io/api imports preserved (separate repos)

Fork of Temporal.io (MIT license).
2026-03-19 10:36:40 -07:00

87 lines
1.7 KiB
Go

package replication
import (
"fmt"
"time"
"go.temporal.io/api/serviceerror"
"github.com/hanzoai/tasks/common/log/tag"
"github.com/hanzoai/tasks/common/metrics"
ctasks "github.com/hanzoai/tasks/common/tasks"
)
type (
ExecutableUnknownTask struct {
ProcessToolBox
ExecutableTask
task any
}
)
const (
unknownTaskID = "unknown-task-id"
)
var _ ctasks.Task = (*ExecutableUnknownTask)(nil)
var _ TrackableExecutableTask = (*ExecutableUnknownTask)(nil)
func NewExecutableUnknownTask(
processToolBox ProcessToolBox,
taskID int64,
taskCreationTime time.Time,
task any,
) *ExecutableUnknownTask {
return &ExecutableUnknownTask{
ProcessToolBox: processToolBox,
ExecutableTask: NewExecutableTask(
processToolBox,
taskID,
metrics.UnknownTaskScope,
taskCreationTime,
time.Now().UTC(),
"sourceCluster",
ClusterShardKey{
ClusterID: 0,
ShardID: 0,
},
nil,
),
task: task,
}
}
func (e *ExecutableUnknownTask) QueueID() any {
return unknownTaskID
}
func (e *ExecutableUnknownTask) Execute() error {
e.MarkExecutionStart()
return serviceerror.NewInvalidArgument(
fmt.Sprintf("unknown task, ID: %v, task: %v", e.TaskID(), e.task),
)
}
func (e *ExecutableUnknownTask) HandleErr(err error) error {
metrics.ReplicationTasksErrorByType.With(e.MetricsHandler).Record(
1,
metrics.OperationTag(metrics.UnknownTaskScope),
metrics.NamespaceUnknownTag(),
metrics.ServiceErrorTypeTag(err),
)
return err
}
func (e *ExecutableUnknownTask) IsRetryableError(err error) bool {
return false
}
func (e *ExecutableUnknownTask) MarkPoisonPill() error {
e.Logger.Error("unable to enqueue unknown replication task to DLQ",
tag.Task(e.task),
tag.TaskID(e.ExecutableTask.TaskID()),
)
return nil
}