diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2025-04-02 12:23:25 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-04-02 14:41:22 +0000 |
| commit | 8079433f581666f7c03c02f05ba46bfe2b3a8a0a (patch) | |
| tree | 2565055f20ebf3440bf826f7249b71f8e4794d42 /syz-cluster/controller/processor_test.go | |
| parent | e347022420b455f456dd988455b327805a9d3a1c (diff) | |
syz-cluster: better handle SeriesProcessor restarts
If the Loop() was restarted in between the moment we marked the session
as started in the DB and the moment we actually started the workflow,
there was no way back to the normal operation.
That was the reason of the sporadic TestProcessor failures we've seen in
the presubmit tests.
Handle this case in the code by just continuing the non-finished calls.
Closes #5776.
Diffstat (limited to 'syz-cluster/controller/processor_test.go')
| -rw-r--r-- | syz-cluster/controller/processor_test.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/syz-cluster/controller/processor_test.go b/syz-cluster/controller/processor_test.go index 00f2c471b..d5e5438bf 100644 --- a/syz-cluster/controller/processor_test.go +++ b/syz-cluster/controller/processor_test.go @@ -52,7 +52,9 @@ func TestProcessor(t *testing.T) { awaitFinishedSessions(t, processor.seriesRepo, 2) - // Restart the loop. + // Emulate the service restart by aborting the loop. + // This may break the execution in arbitrary places, which actually resembles the environment in which the code + // will actually work. The bugs it triggers may be difficult to reproduce though. cancel() wg.Wait() |
