Skip to content

[WIP] Add experimental Event Groups support - #589

Draft
mjameswh wants to merge 1 commit into
mainfrom
event-groups-feature
Draft

mjameswh wants to merge 1 commit into
mainfrom
event-groups-feature

Conversation

@mjameswh

Copy link
Copy Markdown
Contributor

Summary

Add experimental support for Event Groups.

Event Groups is a new form of Workflow-level metadata that allows for improved visibility into a Workflow execution's history by grouping logically related Events together based on user-defined or system-inferred criteria.

  • Explicit groups: Workflow.create_event_group(id, label: "...") takes the Event Group's ID as its first and only required argument. The user-provided ID is used verbatim as the grouping key and should not contain sensitive information. The label is optional and, if provided, is a codec-encoded Payload. Attach a group per call (event_groups: [...]) or ambiently with Workflow.with_event_groups(...) { } (propagated through fibers). Nested scopes compose; markers dedupe by id.
  • Implicit groups: automatically wrap signal and update handlers.
  • Markers are serialized onto outgoing commands as event_group_markers. The user-facing type is EventGroup; the protocol type remains EventGroupMarker.
  • Exposes Workflow::Info#original_execution_run_id (plumbed core → lang) and bumps the sdk-core submodule to the matching build.

No child-handle cancel (EG-COMMANDS-07-CHILD): ChildWorkflowHandle has no cancel API.

Testing

Event Groups support requires an Event-Groups-capable server. Local tests pin Temporal CLI:

v1.8.3-server-1.32.0-162.0
bundle exec rake test TEST=test/worker_workflow_event_groups_test.rb

Cloud environments skip history-transcription cases.

@mjameswh mjameswh changed the title Add experimental Event Groups support [WIP] Add experimental Event Groups support Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant