Azure / Azure/azure-functions-agents-runtime
Track upstream fix for Activity tags lost on retry
- Dominant language
- Python
- Stars
- 9
- Forks
- 7
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 20
Description
> Please provide us with the following information:
> ---------------------------------------------------------------
### This issue is for a: (mark with an `x`)
```
- [x] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)
```
### Minimal steps to reproduce
> Schedule a Durable Activity with both `retry_policy` and `tags`, including `durabletask.displayName`. Make the Activity fail transiently so Durable retries it. Inspect the DTS orchestration history or Dashboard: the initial attempt has the supplied tags, but retry-generated `taskScheduled` events have an empty tag map and display the registered Activity function name.
### Any log messages given by the failure
> No runtime error is emitted. Raw DTS history shows the initial Activity schedule with `{"durabletask.displayName":"reserve_inventory"}` and subsequent retry schedules with `{}`.
### Expected/desired behavior
> Every retry attempt preserves the tags supplied when the Activity was initially scheduled.
### OS and Version?
> Reproduced on Windows with the Durable Task Scheduler emulator.
### Versions
> `durabletask` Python package 1.10.0. The same omission was present on the upstream `microsoft/durabletask-python` main branch.
### Mention any other details that might be useful
The root cause is in `durabletask-python`: its retry-timer path reconstructs the Activity schedule without forwarding the saved tags. The upstream fix and regression test are available in [microsoft/durabletask-python#263](https://github.com/microsoft/durabletask-python/pull/263).
This issue tracks consuming a `durabletask` release containing that fix for [Azure/azure-functions-agents-runtime#193](https://github.com/Azure/azure-functions-agents-runtime/pull/193). Until then, initial attempts retain DTS display tags but native retry attempts fall back to the registered Activity name.
> ---------------------------------------------------------------
> Thanks! We'll be in touch soon.
Contributor guide
Research direction
Start by reviewing microsoft/durabletask-python#263 and the dependency declaration for durabletask in this repository. Update to a released version containing the upstream fix, then verify that retry-generated Activity schedules preserve the supplied tags and display name.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, python
- Domain
- backend, cloud
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100