temporalio / temporalio/temporal

Clarify intent: should taskEventID be removed or converted to interface method in tasks.Tags()

Open
#10,719 0 comments 0 reactions 1 assignee View on GitHub

@yycptt is already working on this.

Since Jun 30, 2026.

Dominant language
Go
Stars
23.2k
Forks
1.9k
Avg merge
2d 8h
Merged PRs (30d)
228

Description

Summary

service/history/tasks/utils.go (line ~13) contains a TODO
with two possible directions:

// TODO: convert this to a method GetEventID on task interface
// or remove this tag as the value is visible in the Task tag value.

Investigation

  • tag.WorkflowEventID(taskEventID) produces a top-level log
    field wf-history-event-id
  • tag.Task(task) (already included) uses NewAnyTag, dumping
    the full task struct — which includes event ID fields for
    task types that have them (e.g. FirstEventID/NextEventID
    on HistoryReplicationTask)

So the value is technically duplicated, but:

  • wf-history-event-id is a flat, queryable top-level field
  • the value inside queue-task is nested within a JSON dump

Question

Removing wf-history-event-id could affect log-based dashboards
or alerts that filter on this field. Is this field actively used
for observability, or safe to remove? Alternatively, should this
be converted to a GetEventID() method on the Task interface
as the TODO also suggests?

Happy to implement either direction once clarified.

References

  • service/history/tasks/utils.go:8-39
  • common/log/tag/tags.go:206 (WorkflowEventID)
  • common/log/tag/tags.go:617 (Task / queue-task)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.