发布日期: 2025-03-03
版本号: v1.15.2

Dapr 1.15.2版本主要修复了两个问题。首先,修复了从未配置Actor状态存储的应用调用Actor时失败的问题:此前若应用未配置相关状态存储,daprd不会连接Placement服务,导致无法获取目标Actor地址,现调整为只要配置了Placement服务地址即自动建立连接。其次,解决了调度程序内存泄漏问题:因发送连接时未正确关闭Go协程,导致内存持续增长直至进程崩溃,现已通过修复协程关闭逻辑确保内存正常释放。

更新内容 (中文)

Dapr 1.15.2

本次更新包含以下问题修复:

修复从非 Actor 托管应用调用 Actor 的问题

问题描述

从未配置 Actor 状态存储的应用调用 Actor 时,Actor 调用会失败。

影响范围

当 Actor 状态存储未针对特定应用 ID 进行作用域配置时,应用将无法调用 Actor。

根本原因

若 daprd 未配置 Actor 状态存储,则无法连接至 Placement 服务。 这将导致无法获取目标 Actor 的地址信息。

解决方案

当 Placement 服务地址已配置时,daprd 将始终尝试连接至 Placement 服务。

修复调度程序内存泄漏

问题描述

调度程序在运行过程中内存使用量持续增长。

影响范围

调度程序会耗尽宿主机全部内存或达到其 cgroup 限制,最终触发 OOM 崩溃。

根本原因

Go 协程在连接发送操作完成后未正确关闭。

解决方案

在连接发送操作完成后正确关闭 Go 协程。

更新内容 (原始)

Dapr 1.15.2

This update includes bug fixes:

Fix Actor Invocation from non-Actor hosted Apps

Problem

When invoking an actor from an app which did not have the Actor state store configured, the actor invocation fails.

Impact

Applications were unable to invoke actors if the Actor state store was not scoped for that App ID.

Root cause

If daprd did not have an Actor state store configured, it did not connect to Placement. This meant it did not have the address for the target Actor.

Solution

Daprd will always attempt to connect to Placement if a Placement address is configured.

Fix Scheduler memory leak

Problem

Scheduler would continually grow in memory during usage.

Impact

Scheduler would consume the entirety of memory on the host machine, or to it’s cgroup limit, then OOM crash.

Root cause

A Go routine was doing being closed on connection sends.

Solution

Correctly close the Go routine on completion of the connection send.

下载链接