Commit b57f19f
committed
fix(event): prevent silent WriteEvent loss when EventPlane is dropped
spawn_background_loops previously discarded the EventPlane handle
returned by EventPlane::spawn. Dropping that handle aborts every
consumer task, turning the per-core event ring buffers into one-way
drains — the Data Plane keeps emitting WriteEvents but nothing reads
them, so all triggers, CDC streams, and cron dispatches silently stop
firing.
The function now returns the EventPlane handle tagged #[must_use], and
main.rs binds it for the duration of the server's lifetime.
EventProducer::push also gains exhaustive BridgeError matching: the
new Disconnected arm logs a single warning (latched via AtomicBool) and
returns false rather than repeating the warning on every subsequent push
or falling through to the catch-all branch.1 parent 9e41382 commit b57f19f
1 file changed
Lines changed: 28 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| 21 | + | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
| |||
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
33 | 39 | | |
34 | 40 | | |
35 | 41 | | |
| |||
74 | 80 | | |
75 | 81 | | |
76 | 82 | | |
77 | | - | |
| 83 | + | |
78 | 84 | | |
79 | 85 | | |
80 | 86 | | |
81 | 87 | | |
82 | 88 | | |
83 | 89 | | |
84 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
85 | 111 | | |
86 | 112 | | |
87 | 113 | | |
| |||
147 | 173 | | |
148 | 174 | | |
149 | 175 | | |
| 176 | + | |
150 | 177 | | |
151 | 178 | | |
152 | 179 | | |
| |||
0 commit comments