Commit c194805
Teach isolation tester about injection points in background workers.
When session gets blocked, the isolation tester checks if the corresponding
backend is waiting on a lock or on an injection point. If the backend launched
a background worker, the isolation tester is able to detect when the worker is
waiting on a lock - this is due to the concept of "lock groups". However, it
does not recoginze that the background worker is waiting on an injection
point.
This patch tries to fix the problem by calling
pg_isolation_test_session_is_blocked() not only for the backend, but also for
its background worker(s). The assumption is that if the backend is blocked,
and at the same time its background worker is waiting on an injection point,
then that waiting is probably the reason for the backend to be blocked.1 parent 19733fa commit c194805
1 file changed
Lines changed: 8 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
219 | 224 | | |
220 | 225 | | |
221 | 226 | | |
| 227 | + | |
222 | 228 | | |
223 | 229 | | |
224 | 230 | | |
225 | 231 | | |
226 | 232 | | |
227 | | - | |
| 233 | + | |
| 234 | + | |
228 | 235 | | |
229 | 236 | | |
230 | 237 | | |
| |||
0 commit comments