Re: Issue with cancel_before_shmem_exit while searching to remove a particular registered exit callbacks
| От | Robert Haas |
|---|---|
| Тема | Re: Issue with cancel_before_shmem_exit while searching to remove a particular registered exit callbacks |
| Дата | |
| Msg-id | CA+TgmoZDFyV1RAmTEKvjaV8TvvS+gKha+RRiJUGMOLoY0-8Ekw@mail.gmail.com обсуждение исходный текст |
| Ответ на | Issue with cancel_before_shmem_exit while searching to remove a particular registered exit callbacks (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>) |
| Ответы |
Re: Issue with cancel_before_shmem_exit while searching to remove a particular registered exit callbacks
Re: Issue with cancel_before_shmem_exit while searching to remove a particular registered exit callbacks |
| Список | pgsql-hackers |
On Tue, Jul 7, 2020 at 12:55 PM Andres Freund <andres@anarazel.de> wrote: > What are you proposing? For now we could easily enough work around this > by just making it a on_proc_exit() callback, but that doesn't really > change the fundamental issue imo. I think it would be more correct for it to be an on_proc_exit() callback, because before_shmem_exit() callbacks can and do perform actions which rely on an awful lot of the system being still in a working state. RemoveTempRelationsCallback() is a good example: it thinks it can start and end transactions and make a bunch of catalog changes. I don't know that any of that could use JIT, but moving the JIT cleanup to the on_shmem_exit() stage seems better. At that point, there shouldn't be anybody doing anything that relies on being able to perform logical changes to the database; we're just shutting down low-level subsystems at that point, and thus presumably not doing anything that could possibly need JIT. But I also agree that what pg_start_backup() was doing before v13 was wrong; that's why I committed 303640199d0436c5e7acdf50b837a027b5726594. The only reason I didn't back-patch it is because the consequences are so minor I didn't think it was worth worrying about. We could, though. I'd be somewhat inclined to both do that and also change LLVM to use on_proc_exit() in master, but I don't feel super-strongly about it. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: