-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hot Reloading: Actor State Store Reloading #7287
base: master
Are you sure you want to change the base?
Conversation
Part of dapr#1172 Branched from dapr#7260 Adds support for actor state store hot reloading. PR updates the actors package so that the actor state store is dynamically retrieved from the component store every time the state it invoked. The passed static actor state store name previously used to retrieve the state store has been removed. The component store has been updated to track the current actor state store. It is no longer tracked by the state processor, and instead the state processor updates the latest in the component store. Like before, the actor state store _must_ be configured on Dapr startup, else the actor subsystem runtime will not be enabled, even if an actor state store is hot reloaded later. Adds actor hotreloading integration tests for the actor state store. Signed-off-by: joshvanl <me@joshvanl.dev>
fa51653
to
b172d75
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like us to be very careful with hot-reloading actor state store please, especially as this interacts with the reminder store. The actor state store is not meant to be hot-reloaded today, and the impact on reminders is unclear.
For example, in the current code I do not see the method that triggers reloading of reminders when the actor state store changes. This could have very major impacts on the actor subsystem.
Another thing to consider is that there could be active actors which loaded state, and assume that they can store it back (with etag matching) later. If the state store changes, that could cause some significant issues.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #7287 +/- ##
==========================================
+ Coverage 64.31% 64.33% +0.01%
==========================================
Files 238 238
Lines 21877 21862 -15
==========================================
- Hits 14070 14064 -6
+ Misses 6598 6585 -13
- Partials 1209 1213 +4 ☔ View full report in Codecov by Sentry. |
This pull request has been automatically marked as stale because it has not had activity in the last 60 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
Part of #1172
Branched from #7260
Adds support for actor state store hot reloading.
PR updates the actors package so that the actor state store is dynamically
retrieved from the component store every time the state it invoked. The
passed static actor state store name previously used to retrieve the
state store has been removed.
The component store has been updated to track the current actor state
store. It is no longer tracked by the state processor, and instead the
state processor updates the latest in the component store.
Like before, the actor state store must be configured on Dapr startup,
else the actor subsystem runtime will not be enabled, even if an actor
state store is hot reloaded later.
Adds actor hotreloading integration tests for the actor state store.