dhiaayachi / temporal

Temporal service
https://docs.temporal.io
MIT License
0 stars 0 forks source link

Expose FirstRunID in WorkflowExecutionInfo under DescribeWorkflowExecutionResponse #76

Open dhiaayachi opened 3 weeks ago

dhiaayachi commented 3 weeks ago

Is your feature request related to a problem? Please describe. I need to workaround with issue that runId is not stable after continueAsNew or reset. It's available in https://github.com/temporalio/sdk-go/blob/1f0296cdf9d7655269beed439ad1769dd8040654/internal/workflow.go#L1072 but I also need it from describeWF API

Describe the solution you'd like Add it in the api and then server

Describe alternatives you've considered No easy alternative currently (unless I redesign and rebuild the system:( )

Additional context More context of my current workflows running in production (needed in https://github.com/indeedeng/iwf/issues/404 ) When workflowA is running, it may kickoff a workflowA1 as a child workflow and then waiting for external to signal A1. A1 is currently based on A's workflowID+"number suffix". However, this is not sufficient when workflowA us using IdReusePolicy to reuse the workflowID.

This could be fixed if we can use firstRunId instead. Using currentRunID will not work because of continueAsNew and reset.

dhiaayachi commented 1 week ago

Thanks for reporting the issue!

Currently, the describeWF API does not return the firstRunId. This is a known issue we're working on. You can find more information and updates on the GitHub issue.

As a workaround, you can try to access the firstRunId through the Workflow Execution History. You can use the Temporal CLI or the Web UI to access the history. The WorkflowExecutionStarted Event will have the first_execution_run_id field set to the firstRunId.