.NET: A2A session save failures can mask agent execution exceptions
维护者通常 1 天内回复
@SergeyMenshykh 已经在做这个了。
开始于 2026年9月30日。
评估
这个 Issue 还没有评估数据。
描述
Description
A2AAgentHandler persists the agent session from a finally block after new-message and continuation runs. If the agent run throws and SaveSessionAsync also throws, the persistence exception replaces the original execution exception.
This can hide the actual agent failure or caller cancellation behind a secondary session-store failure.
Current behavior
Conceptually:
try
{
await RunAgentAsync(...);
}
finally
{
await SaveSessionAsync(...);
}
When both operations fail, callers observe the exception from SaveSessionAsync rather than the exception that caused the run itself to fail.
Expected behavior
Session persistence should still be attempted with an uncancelled token after a failed run, but a secondary persistence failure should not replace the already-propagating execution exception. When execution succeeds, a session save failure should continue to surface normally.
Scope
The affected paths are:
- new-message non-streaming execution;
- new-message streaming execution;
- continuation execution.
The existing unit tests already verify that session persistence is attempted with CancellationToken.None when execution fails, which provides a focused place to add regression coverage for exception precedence.
- 主要语言
- Python
- 星标
- 14.3k
- 派生
- 2.5k
- 平均合并
- 2 天 9 小时
- 30 天内合并 PR
- 349
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/agent-framework 的其他 Issue
-
Python: foundry-hosting drops request `metadata` from the stored response — `_create_response_event_stream` never passes `request` to `ResponseEventStream`可能已有人在做 @its-amann 于 6 天前认领。 未关闭python triage
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/agent-framework#9529 · 3 条评论 ·
维护者通常 1 天内回复
-
Python: [Bug]: A non-positive MCP request timeout silently disables the timeout可能已有人在做 @jpalvarezl 于 12 天前认领。 未关闭python
难度 2/5 1-3 小时 新手友好度 82/100
microsoft/agent-framework#9313 · 已指派 1 人 ·
维护者通常 1 天内回复
-
.NET python triage
难度 1/5 1 小时以内 新手友好度 85/100
microsoft/agent-framework#9092 · 1 条评论 ·
维护者通常 1 天内回复
-
Python: raw-data content mappings lose annotations and attachment metadata可能已有人在做 @moonbox3 于 26 天前认领。 未关闭python triage
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/agent-framework#8632 · 2 条评论 ·
维护者通常 1 天内回复
-
Python: Clarify when to use platform可能已有人在做 @eavanvalkenburg 于 25 天前认领。 未关闭python triage
难度 2/5 1-3 小时 新手友好度 68/100
microsoft/agent-framework#8599 · 1 条评论 ·
维护者通常 1 天内回复
查看 microsoft/agent-framework 的全部 Issue
相似的 Issue
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog check可能已有人在做 @ocelotl 今天认领。 未关闭
难度 1/5 1 小时以内 新手友好度 82/100
open-telemetry/opentelemetry-python#5825 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
cuga-project/cuga-agent#1020 ·
维护者通常 2 天内回复
-
难度 1/5 1 小时以内 新手友好度 70/100
microsoft/playwright#43640 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复