Commit ed54569
committed
Address review feedback: add pause timeout recovery and restrict privileges
Add best-effort resume_apply_workers call in PG_CATCH error path so
workers are unblocked if slot creation fails. Guard with
PQstatus check to avoid hanging on a broken connection.
Add ConditionVariableTimedSleep to both pause check points so workers
self-recover after spock.pause_timeout seconds if resume is never
called (e.g., caller crashed or connection lost).
Extract maybe_pause_for_slot_creation() helper to deduplicate the
pause logic in begin_replication_step and handle_commit.
Revoke EXECUTE on pause_apply_workers and resume_apply_workers from
PUBLIC to prevent unprivileged users from blocking apply workers.1 parent 8a4131f commit ed54569
File tree
4 files changed
+50
-25
lines changed- sql
- src
4 files changed
+50
-25
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
41 | 43 | | |
42 | 44 | | |
| 45 | + | |
| 46 | + | |
43 | 47 | | |
44 | 48 | | |
45 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
542 | 542 | | |
543 | 543 | | |
544 | 544 | | |
| 545 | + | |
| 546 | + | |
545 | 547 | | |
546 | 548 | | |
547 | 549 | | |
548 | 550 | | |
549 | 551 | | |
| 552 | + | |
| 553 | + | |
550 | 554 | | |
551 | 555 | | |
552 | 556 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
438 | 438 | | |
439 | 439 | | |
440 | 440 | | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
441 | 470 | | |
442 | 471 | | |
443 | 472 | | |
| |||
464 | 493 | | |
465 | 494 | | |
466 | 495 | | |
467 | | - | |
468 | | - | |
469 | | - | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
474 | | - | |
475 | | - | |
476 | | - | |
| 496 | + | |
477 | 497 | | |
478 | 498 | | |
479 | 499 | | |
| |||
1011 | 1031 | | |
1012 | 1032 | | |
1013 | 1033 | | |
1014 | | - | |
1015 | | - | |
1016 | | - | |
1017 | | - | |
1018 | | - | |
1019 | | - | |
1020 | | - | |
1021 | | - | |
1022 | | - | |
1023 | | - | |
1024 | | - | |
1025 | | - | |
1026 | | - | |
1027 | | - | |
1028 | | - | |
| 1034 | + | |
1029 | 1035 | | |
1030 | 1036 | | |
1031 | 1037 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1472 | 1472 | | |
1473 | 1473 | | |
1474 | 1474 | | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
1475 | 1486 | | |
1476 | 1487 | | |
1477 | 1488 | | |
| |||
0 commit comments