-
Notifications
You must be signed in to change notification settings - Fork 154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
resolve additional deadlock during drop database :: pglogical_apply.c :: CHECK_FOR_INTERRUPTS() #427
base: REL2_x_STABLE
Are you sure you want to change the base?
resolve additional deadlock during drop database :: pglogical_apply.c :: CHECK_FOR_INTERRUPTS() #427
Conversation
note: there are still few more "deadlock candidates" in the code, for example, search for: while (!got_SIGTERM) and review (loops are not using pglogical_sync.c pglogical_sync_worker_cleanup(PGLogicalSubscription *sub) wait_for_sync_status_change(Oid subid, const char *nspname, const char *relname, |
@eulerto please review |
I've reviewed this. Note that the linked issues say this began with PostgreSQL
|
This achieves a lot for a one-line change. @eulerto (since no other person has |
@petere I see you are the other of the two people who have committed to |
2d86e69
to
537c1a7
Compare
@eulerto @petere @mwanner This is just adding a CHECK_FOR_INTERRUPTS() so DROP |
@nmisch I will check all pending PRs (including this one) in the next few days. |
@eulerto This is still just adding one CHECK_FOR_INTERRUPTS(), and it's been |
this was tested on top of:
PostgreSQL-15.3
+pglogical-2.4.3
resolve additional deadlock during
drop database
:fix #418
fix #399
solution for the deadlock in
pglogical_apply_main()
is identical to the solution for the deadlock in
pglogical_supervisor_main()
:#403