dapr - v1.7.1
Dapr 1.7.1
Summary
This hotfix release addresses a change made in how actor timers are validated during creation. Specifically, DueTime
can be set to 0 to have a reminder fire immediately.
Additionally, this hotfix addresses an issue in the Apache Pulsar pubsub component preventing the use of namespaces when publishing to topics.
Lastly, there is a fix to avoid a nil dereference crash on the sidecar when using API logging feature in gRPC API.
Runtime
- An Actor Timer with a
DueTime
of0
will now pass validation allowing timers to fire immediately.
Components
- The correct value the Pulsar topic is now specified on publishing, allowing the use of namespaces.
Details
Actor Timer Creation
Problem
Registering an Actor Timer with a DueTime
of 0
would fail and the Timer would not be started.
Root cause
A change introduced in release 1.6 caused Timers to be invalidated if their DueTime
was in the past. However, when the DueTime
is 0, signifying an immediate fire, it is set in Dapr to the current time. After it was set to the current time, it would later be compared to the current time again. As these time comparisons did not share the value for current time, it is almost guaranteed that the DueTime
would now appear to be in the past.
Solution
Revert the code to pre-1.6 behavior which allows DueTimes
to be in the past as that still equates to firing immediately.
Panic: nil pointer dereference in API Logging
Problem
When enabling the API logging preview feature, a nil reference can occur and crash the sidecar.
Root cause
Logic for API logging in gRPC assumed gRPC info
object was always not nil, however it has been reported that it could be nil when invoking an actor as per issue #4527.
Solution
Add a nil check for API logging preview feature in gRPC API.
Details
- 🔍View and search all dapr releases.
- 🛠️Create and share lists to track your tools.
- 🚨Setup notifications for major, security, feature or patch updates.
- 🚀Much more coming soon!