Fix actor reminder e2e tests + fixes to reminder partition#4021
Conversation
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-07 for linux. Please check the build status. |
|
Found the available test cluster - dapr-aks-e2e-06 for windows. Please check the build status. |
Codecov Report
@@ Coverage Diff @@
## master #4021 +/- ##
==========================================
- Coverage 63.40% 63.18% -0.22%
==========================================
Files 101 101
Lines 9581 9652 +71
==========================================
+ Hits 6075 6099 +24
- Misses 3032 3074 +42
- Partials 474 479 +5
Continue to review full report at Codecov.
|
|
Congrats! All end-to-end tests have passed on linux. Thanks for your contribution! |
|
Congrats! All end-to-end tests have passed on windows. Thanks for your contribution! |
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-07 for linux. Please check the build status. |
|
Found the available test cluster - dapr-aks-e2e-05 for windows. Please check the build status. |
|
End-to-end tests failed on windows. Please check the build logs |
|
End-to-end tests failed on linux. Please check the build logs |
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-07 for linux. Please check the build status. |
|
Found the available test cluster - dapr-aks-e2e-05 for windows. Please check the build status. |
|
End-to-end tests failed on windows. Please check the build logs |
|
End-to-end tests failed on linux. Please check the build logs |
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-07 for linux. Please check the build status. |
|
Found the available test cluster - dapr-aks-e2e-05 for windows. Please check the build status. |
|
End-to-end tests failed on windows. Please check the build logs |
|
Congrats! All end-to-end tests have passed on linux. Thanks for your contribution! |
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-07 for linux. Please check the build status. |
|
Found the available test cluster - dapr-aks-e2e-05 for windows. Please check the build status. |
|
End-to-end tests failed on windows. Please check the build logs |
|
End-to-end tests failed on linux. Please check the build logs |
| diag.DefaultMonitoring.ComponentInitialized(s.Spec.Type) | ||
| } | ||
|
|
||
| if a.hostingActors() && (a.actorStateStoreName == "" || a.actorStateStoreCount != 1) { |
There was a problem hiding this comment.
This code is executed before sidecar invokes /dapr/config, which means that a.hostingActors() would return false. This was not always like that but we had many changes in the order of loading things in Dapr sidecar and this was a side effect of that.
| _, err := appManager.WaitUntilDeploymentState(appManager.IsDeploymentDone) | ||
| // 120s is the observed time to spawn a new test app POD and terminate the old one. | ||
| // This sleep time is important for the stream log to work. | ||
| time.Sleep(120 * time.Second) |
There was a problem hiding this comment.
This seems extremely high, and we're already cutting close the 10 minutes limit for some of our test suites. The line below this one should gate this appropriately. If deployment state is running, your logs should stream properly. If you are seeing errors, it might be because the StreamContainerLogs() attempts to run against all pods in a deployment, and might try against a terminated pod, I think? The new pod should still work, even in the presence of this error.
There was a problem hiding this comment.
This one is needed because it is the time I observed for the new POD to be created and the old one to be terminated. Otherwise, tests can fail because the requests can go to any of the PODs and add flakiness.
There was a problem hiding this comment.
So WaitUntilDeploymentState doesn't sufficiently gate on the deployment being completed? Could we just update WaitUntilDeploymentState to also gate on the number of replicas being what we expect?
There was a problem hiding this comment.
I checked the code. It does that already. Let me remove this. Nice catch.
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-08 for linux. Please check the build status. |
|
Found the available test cluster - dapr-aks-e2e-06 for windows. Please check the build status. |
|
End-to-end tests failed on linux. Please check the build logs |
Signed-off-by: Artur Souza <[email protected]>
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-08 for linux. Please check the build status. |
|
End-to-end tests failed on windows. Please check the build logs |
|
Congrats! All end-to-end tests have passed on linux. Thanks for your contribution! |
|
/ok-to-test |
|
Found the available test cluster - dapr-aks-e2e-08 for linux. Please check the build status. |
wcs1only
left a comment
There was a problem hiding this comment.
Thanks for removing the sleeps. LGTM
|
Found the available test cluster - dapr-aks-e2e-05 for windows. Please check the build status. |
|
End-to-end tests failed on windows. Please check the build logs |
|
End-to-end tests failed on linux. Please check the build logs |
* Fix actor metadata concurrency and reminder E2E tests. Fix error handling in create/delete reminders with partitioning. Add more logging to actor reminders. Fix race condition in e2e app actorfeatures. Signed-off-by: Artur Souza <[email protected]> * Fix use of pointer for reminders. Signed-off-by: Artur Souza <[email protected]> * handle empty data on reading reminder. Signed-off-by: Artur Souza <[email protected]> * Uses strong consistency in all state operations for actors. Signed-off-by: Artur Souza <[email protected]> * Use Set instead of Multi for reminder partition. Signed-off-by: Artur Souza <[email protected]> * Fix logic on migrating actor type. Signed-off-by: Artur Souza <[email protected]> * Use SetAppEnv() to change reminder partition in e2e test. Signed-off-by: Artur Souza <[email protected]> * Make actor logs more verbose. Signed-off-by: Artur Souza <[email protected]> * Use exponential backoff for reminder actor features e2e test. Signed-off-by: Artur Souza <[email protected]> * Sleep on update env for stream log to work. Signed-off-by: Artur Souza <[email protected]> * Use k8s Restart on actor reminder restart e2e. Signed-off-by: Artur Souza <[email protected]> * Add extra sleep to reminder restart e2 test. Signed-off-by: Artur Souza <[email protected]> * More logging, improve read of reminders. Signed-off-by: Artur Souza <[email protected]> * Fix root cause of flaky tests for actors. Signed-off-by: Artur Souza <[email protected]> * Address PR coments. Signed-off-by: Artur Souza <[email protected]> Signed-off-by: x-shadow-man <[email protected]>
* Fix actor metadata concurrency and reminder E2E tests. Fix error handling in create/delete reminders with partitioning. Add more logging to actor reminders. Fix race condition in e2e app actorfeatures. Signed-off-by: Artur Souza <[email protected]> * Fix use of pointer for reminders. Signed-off-by: Artur Souza <[email protected]> * handle empty data on reading reminder. Signed-off-by: Artur Souza <[email protected]> * Uses strong consistency in all state operations for actors. Signed-off-by: Artur Souza <[email protected]> * Use Set instead of Multi for reminder partition. Signed-off-by: Artur Souza <[email protected]> * Fix logic on migrating actor type. Signed-off-by: Artur Souza <[email protected]> * Use SetAppEnv() to change reminder partition in e2e test. Signed-off-by: Artur Souza <[email protected]> * Make actor logs more verbose. Signed-off-by: Artur Souza <[email protected]> * Use exponential backoff for reminder actor features e2e test. Signed-off-by: Artur Souza <[email protected]> * Sleep on update env for stream log to work. Signed-off-by: Artur Souza <[email protected]> * Use k8s Restart on actor reminder restart e2e. Signed-off-by: Artur Souza <[email protected]> * Add extra sleep to reminder restart e2 test. Signed-off-by: Artur Souza <[email protected]> * More logging, improve read of reminders. Signed-off-by: Artur Souza <[email protected]> * Fix root cause of flaky tests for actors. Signed-off-by: Artur Souza <[email protected]> * Address PR coments. Signed-off-by: Artur Souza <[email protected]> Signed-off-by: x-shadow-man <[email protected]>
* Fix actor metadata concurrency and reminder E2E tests. Fix error handling in create/delete reminders with partitioning. Add more logging to actor reminders. Fix race condition in e2e app actorfeatures. Signed-off-by: Artur Souza <[email protected]> * Fix use of pointer for reminders. Signed-off-by: Artur Souza <[email protected]> * handle empty data on reading reminder. Signed-off-by: Artur Souza <[email protected]> * Uses strong consistency in all state operations for actors. Signed-off-by: Artur Souza <[email protected]> * Use Set instead of Multi for reminder partition. Signed-off-by: Artur Souza <[email protected]> * Fix logic on migrating actor type. Signed-off-by: Artur Souza <[email protected]> * Use SetAppEnv() to change reminder partition in e2e test. Signed-off-by: Artur Souza <[email protected]> * Make actor logs more verbose. Signed-off-by: Artur Souza <[email protected]> * Use exponential backoff for reminder actor features e2e test. Signed-off-by: Artur Souza <[email protected]> * Sleep on update env for stream log to work. Signed-off-by: Artur Souza <[email protected]> * Use k8s Restart on actor reminder restart e2e. Signed-off-by: Artur Souza <[email protected]> * Add extra sleep to reminder restart e2 test. Signed-off-by: Artur Souza <[email protected]> * More logging, improve read of reminders. Signed-off-by: Artur Souza <[email protected]> * Fix root cause of flaky tests for actors. Signed-off-by: Artur Souza <[email protected]> * Address PR coments. Signed-off-by: Artur Souza <[email protected]> Signed-off-by: x-shadow-man <[email protected]>
* master: Saves 'describe' output of K8s resources for E2E tests. (dapr#4082) Fix flakiness on get metadata e2e. (dapr#4080) Return error instead of crashing when receiving grpc_proxy request on uninitialized daprd Fix actor reminder e2e tests + fixes to reminder partition (dapr#4021) Upgrading fasthttp to fix shutdown issue Fixed create timer duetime remove max graceful shutdown duration limit fix lint add more test case fix lint Make the grace period configurable Signed-off-by: Taction <[email protected]>
* Fix actor metadata concurrency and reminder E2E tests. Fix error handling in create/delete reminders with partitioning. Add more logging to actor reminders. Fix race condition in e2e app actorfeatures. Signed-off-by: Artur Souza <[email protected]> * Fix use of pointer for reminders. Signed-off-by: Artur Souza <[email protected]> * handle empty data on reading reminder. Signed-off-by: Artur Souza <[email protected]> * Uses strong consistency in all state operations for actors. Signed-off-by: Artur Souza <[email protected]> * Use Set instead of Multi for reminder partition. Signed-off-by: Artur Souza <[email protected]> * Fix logic on migrating actor type. Signed-off-by: Artur Souza <[email protected]> * Use SetAppEnv() to change reminder partition in e2e test. Signed-off-by: Artur Souza <[email protected]> * Make actor logs more verbose. Signed-off-by: Artur Souza <[email protected]> * Use exponential backoff for reminder actor features e2e test. Signed-off-by: Artur Souza <[email protected]> * Sleep on update env for stream log to work. Signed-off-by: Artur Souza <[email protected]> * Use k8s Restart on actor reminder restart e2e. Signed-off-by: Artur Souza <[email protected]> * Add extra sleep to reminder restart e2 test. Signed-off-by: Artur Souza <[email protected]> * More logging, improve read of reminders. Signed-off-by: Artur Souza <[email protected]> * Fix root cause of flaky tests for actors. Signed-off-by: Artur Souza <[email protected]> * Address PR coments. Signed-off-by: Artur Souza <[email protected]> Signed-off-by: x-shadow-man <[email protected]>
* Fix actor metadata concurrency and reminder E2E tests. Fix error handling in create/delete reminders with partitioning. Add more logging to actor reminders. Fix race condition in e2e app actorfeatures. Signed-off-by: Artur Souza <[email protected]> * Fix use of pointer for reminders. Signed-off-by: Artur Souza <[email protected]> * handle empty data on reading reminder. Signed-off-by: Artur Souza <[email protected]> * Uses strong consistency in all state operations for actors. Signed-off-by: Artur Souza <[email protected]> * Use Set instead of Multi for reminder partition. Signed-off-by: Artur Souza <[email protected]> * Fix logic on migrating actor type. Signed-off-by: Artur Souza <[email protected]> * Use SetAppEnv() to change reminder partition in e2e test. Signed-off-by: Artur Souza <[email protected]> * Make actor logs more verbose. Signed-off-by: Artur Souza <[email protected]> * Use exponential backoff for reminder actor features e2e test. Signed-off-by: Artur Souza <[email protected]> * Sleep on update env for stream log to work. Signed-off-by: Artur Souza <[email protected]> * Use k8s Restart on actor reminder restart e2e. Signed-off-by: Artur Souza <[email protected]> * Add extra sleep to reminder restart e2 test. Signed-off-by: Artur Souza <[email protected]> * More logging, improve read of reminders. Signed-off-by: Artur Souza <[email protected]> * Fix root cause of flaky tests for actors. Signed-off-by: Artur Souza <[email protected]> * Address PR coments. Signed-off-by: Artur Souza <[email protected]>
Description
Fixes the reminder E2E tests.
Fixes to the reminder storage solution with partitioning.
Issue reference
Please reference the issue this PR will close: #3984
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:
RELEASE NOTE: Fix logging of conflict when loading actor state store and fixes to actor reminders partitioning.