Inconsistent behaviour between docs and implementation in Actor Timers and Reminders
- Dominant language
- Java
- Stars
- 300
- Forks
- 230
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 4
Description
While implementing #658 (Adding support for TTL and intervals) I possibly came across some inconsistency with the documentation on Actor Timers and Reminders.
## Expected Behavior
The `dapr-sdk-actors` implementation - the `AbstractActor` class which a client inherits for their own Actor implementation, to be more specific - matches the documentation. Or of course, vice-versa, the documentation matches the implementation.
## Actual Behavior
The [current implementation](https://github.com/dapr/java-sdk/blob/3e5fe3993329df732a1a3e6f5b838df595724145/sdk-actors/src/main/java/io/dapr/actors/runtime/AbstractActor.java#L117) of `registerReminder()` and `registerActorTimer()` in `AbstractActor` requires both `dueTime` and `period` to be present.
I've found the following documentation on Actor Timers:
https://docs.dapr.io/developing-applications/building-blocks/actors/howto-actors/#actor-timers-and-reminders
Which states the following:
> `dueTime` is an **_optional_** parameter that sets time at which or time interval before the callback is invoked for the first time.
> `period` is an **_optional_** parameter that sets time interval between two consecutive callback invocations
[The request structure for reminders is identical to those of actors. Please refer to the actor timers examples.](https://docs.dapr.io/developing-applications/building-blocks/actors/howto-actors/#actor-reminders)
The reference API documentation states the following on Reminders: https://docs.dapr.io/reference/api/actors_api/#create-actor-reminder. I can't seem to find any information about optional fields here, or TTL for that matter.
> `dueTime` | Specifies the time after which the reminder is invoked, its format should be time.ParseDuration format
`period` | Specifies the period between different invocations, its format should be time.ParseDuration format or ISO 8601 duration format with optional recurrence.
Contributor guide
Assessment
This issue has not been assessed yet.