dapr v1.15.1 版本更新介绍
发布日期: 2025-02-28
版本号: v1.15.1
Dapr 1.15.1版本主要修复了两个问题。其一,当客户端调用Actor时,若请求负载超过4MB会因未应用max-body-size参数限制而报错,问题根源为Actor的gRPC客户端未正确读取配置,现已通过调整gRPC调用选项解决。其二,当禁用Actor重入功能时,系统仍错误发送Reentrancy ID的HTTP请求头,导致.NET SDK在某些场景下返回旧数据,现已修复为禁用重入时不再发送该请求头,确保状态数据正确性。
更新内容 (中文)
Dapr 1.15.1
本次更新包含以下问题修复:
修复调用 Actor 时 Dapr 未遵循 max-body-size 参数的问题
问题描述
此处报告的问题。
当 Actor 客户端尝试调用 Actor 时,若有效载荷大小超过 4MB,调用会失败并显示 rpc error: code = ResourceExhausted desc = grpc: received message larger than max
。
影响
用户无法发送有效载荷超过 4MB 的 Actor 消息。
根本原因
Dapr Actor gRPC 客户端未遵循传递给 daprd
的 max-body-size 参数。
解决方案
已在 Dapr Actor gRPC 客户端中配置正确的 gRPC 调用选项。
修复禁用重入时仍发送 Actor 重入 ID HTTP 标头的问题
问题描述
在 DotNet Actor SDK 中调用 this.StateManager.TryGetStateAsync()
时,某些调用场景会返回陈旧数据。
影响
使用 DotNet Actor SDK 时,在部分 Actor 调用场景中无法正确返回最新 Actor 状态数据。
根本原因
禁用重入功能时,系统仍向 Actor HTTP 服务器发送 Actor 重入 ID HTTP 标头。 DotNet SDK 通过该 HTTP 标头的存在性判断应返回给 Actor 的状态数据。
解决方案
禁用重入功能时,不再发送 Actor 重入 ID HTTP 标头(\"Dapr-Reentrancy-Id\"
)。
更新内容 (原始)
Dapr 1.15.1
This update includes bug fixes:
- Fix Dapr not honoring max-body-size when invoking actors
- Fix sending Actor Reentrancy ID HTTP header when disabled
Fix Dapr not honoring max-body-size when invoking actors
Problem
Issue reported here.
When an actor client attempts to invoke an actor with a payload size larger than 4Mb, the call fails with rpc error: code = ResourceExhausted desc = grpc: received message larger than max
.
Impact
Users were unable to send actor messages with payloads larger than 4Mb.
Root cause
The Dapr actor gRPC client did not honor the max-body-size parameter that is passed to daprd
.
Solution
The Dapr actor gRPC client is configured with the proper gRPC call options.
Fix sending Actor Reentrancy ID HTTP header when disabled
Problem
Calling this.StateManager.TryGetStateAsync()
in the DotNet Actor SDK would return stale data during some invocation scenarios.
Impact
The latest Actor state data was not being correctly returned during some Actor invocation scenarios using the DotNet Actor SDK.
Root cause
When Reentrancy was disabled, the Actor Reentrancy ID HTTP header was still being sent to Actor HTTP servers. The DotNet SDK uses the existence of this HTTP header in logic to determine what state should be returned to the Actor.
Solution
Don’t send the Actor Reentrancy ID HTTP header ("Dapr-Reentrancy-Id"
) when Reentrancy is disabled.
下载链接
- daprd_darwin_amd64.tar.gz
- daprd_darwin_amd64.tar.gz.sha256
- daprd_darwin_arm64.tar.gz
- daprd_darwin_arm64.tar.gz.sha256
- daprd_linux_amd64-stablecomponents.tar.gz
- daprd_linux_amd64-stablecomponents.tar.gz.sha256
- daprd_linux_amd64.tar.gz
- daprd_linux_amd64.tar.gz.sha256
- daprd_linux_arm-stablecomponents.tar.gz
- daprd_linux_arm-stablecomponents.tar.gz.sha256
- daprd_linux_arm.tar.gz
- daprd_linux_arm.tar.gz.sha256
- daprd_linux_arm64-stablecomponents.tar.gz
- daprd_linux_arm64-stablecomponents.tar.gz.sha256
- daprd_linux_arm64.tar.gz
- daprd_linux_arm64.tar.gz.sha256
- daprd_windows_amd64.zip
- daprd_windows_amd64.zip.sha256
- grafana-actor-dashboard.json
- grafana-actor-dashboard.json.sha256
- grafana-sidecar-dashboard.json
- grafana-sidecar-dashboard.json.sha256
- grafana-system-services-dashboard.json
- grafana-system-services-dashboard.json.sha256
- injector_darwin_amd64.tar.gz
- injector_darwin_amd64.tar.gz.sha256
- injector_darwin_arm64.tar.gz
- injector_darwin_arm64.tar.gz.sha256
- injector_linux_amd64.tar.gz
- injector_linux_amd64.tar.gz.sha256
- injector_linux_arm.tar.gz
- injector_linux_arm.tar.gz.sha256
- injector_linux_arm64.tar.gz
- injector_linux_arm64.tar.gz.sha256
- injector_windows_amd64.zip
- injector_windows_amd64.zip.sha256
- operator_darwin_amd64.tar.gz
- operator_darwin_amd64.tar.gz.sha256
- operator_darwin_arm64.tar.gz
- operator_darwin_arm64.tar.gz.sha256
- operator_linux_amd64.tar.gz
- operator_linux_amd64.tar.gz.sha256
- operator_linux_arm.tar.gz
- operator_linux_arm.tar.gz.sha256
- operator_linux_arm64.tar.gz
- operator_linux_arm64.tar.gz.sha256
- operator_windows_amd64.zip
- operator_windows_amd64.zip.sha256
- placement_darwin_amd64.tar.gz
- placement_darwin_amd64.tar.gz.sha256
- placement_darwin_arm64.tar.gz
- placement_darwin_arm64.tar.gz.sha256
- placement_linux_amd64.tar.gz
- placement_linux_amd64.tar.gz.sha256
- placement_linux_arm.tar.gz
- placement_linux_arm.tar.gz.sha256
- placement_linux_arm64.tar.gz
- placement_linux_arm64.tar.gz.sha256
- placement_windows_amd64.zip
- placement_windows_amd64.zip.sha256
- scheduler_darwin_amd64.tar.gz
- scheduler_darwin_amd64.tar.gz.sha256
- scheduler_darwin_arm64.tar.gz
- scheduler_darwin_arm64.tar.gz.sha256
- scheduler_linux_amd64.tar.gz
- scheduler_linux_amd64.tar.gz.sha256
- scheduler_linux_arm.tar.gz
- scheduler_linux_arm.tar.gz.sha256
- scheduler_linux_arm64.tar.gz
- scheduler_linux_arm64.tar.gz.sha256
- scheduler_windows_amd64.zip
- scheduler_windows_amd64.zip.sha256
- sentry_darwin_amd64.tar.gz
- sentry_darwin_amd64.tar.gz.sha256
- sentry_darwin_arm64.tar.gz
- sentry_darwin_arm64.tar.gz.sha256
- sentry_linux_amd64.tar.gz
- sentry_linux_amd64.tar.gz.sha256
- sentry_linux_arm.tar.gz
- sentry_linux_arm.tar.gz.sha256
- sentry_linux_arm64.tar.gz
- sentry_linux_arm64.tar.gz.sha256
- sentry_windows_amd64.zip
- sentry_windows_amd64.zip.sha256