Back to Dapr

Dapr 1.15.3

docs/release_notes/v1.15.3.md

1.17.62.1 KB
Original Source

Dapr 1.15.3

This update includes bug fixes:

Fix Timers Deactivating after timer invocation fails

Problem

Fixes this issue. An app returning a non-2xx status code from a timer invocation would cause a periodic timer to no longer trigger.

Impact

An Actor app which restarted/crashed, or was otherwise busy, would cause a timer to no longer trigger. This breaks backwards compatibility where a periodic Actor timer would continue to trigger at the defined period, even if the actor was busy or had an error.

Root cause

The Actor timer handle logic deactivates the timer if any timer invocation failed. Regardless of whether the timer had further ticks defined in it's period schedule.

Solution

As did before v1.15.0, treat any successful or failed timer invocation as the same, and tick the Actor timer forward allowing for future invocations.

Fix Daprd continuously growing in memory

Problem

Fixes an issue where Daprd would continually grow in memory when using Workflows.

Impact

Daprd would eventually use all available memory on the node or cgroup, causing an OOM crash.

Root cause

An internal Actor lock object was not being released from Workflow Activities.

Solution

Release lock memory during Workflow Activity completion.

Fix Scheduler continuously growing in memory

Problem

Scheduler would continuously grow in memory when under heavy usage, for example using Workflows.

Impact

Scheduler would eventually use all available memory on the node or cgroup, causing an OOM crash.

Root cause

Etcd does not automatically Defragment after compaction, causing unused memory to not be released.

Solution

Every 10 minutes, each Scheduler host will check whether the total memory is twice the size of used memory and if so, will defragment that host's Etcd database.