Re: Parallel pg_dump's error reporting doesn't work worth squat
От | Tom Lane |
---|---|
Тема | Re: Parallel pg_dump's error reporting doesn't work worth squat |
Дата | |
Msg-id | 17504.1465225934@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Parallel pg_dump's error reporting doesn't work worth squat (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>) |
Ответы |
Re: Parallel pg_dump's error reporting doesn't work
worth squat
|
Список | pgsql-hackers |
Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp> writes: > At Fri, 03 Jun 2016 09:44:30 -0400, Tom Lane <tgl@sss.pgh.pa.us> wrote in <11515.1464961470@sss.pgh.pa.us> >> I think that this one: >>> If the target thread is allocating memory from the heap, the heap >>> lock will not be released. >> is potentially a hazard, which is why I made sure to use write_stderr >> later on in the console interrupt handler. Your original suggestion >> to use write_msg would end up going through fprintf, which might well >> use malloc internally. (It's possible that Windows' version of write() >> could too, I suppose, but that's probably as low-level as we are >> going to get.) > I have to admit that I forgot about the possible malloc's, and > PQcancel() can be blocked from the same reason. Uh, what? PQcancel is very carefully coded so that it's safe to use in a signal handler. If it's doing mallocs someplace, that would be surprising. > If the issue to be settled here is the unwanted error messages, > we could set a flag to instruct write_msg to sit silent. Anyway > the workers should have been dead that time so discarding any > error messages don't matter. > What do you think about this? This is really ugly and I'm unconvinced that it fixes anything. write_msg is hardly the only place in a worker thread that might be doing malloc's; moreover, preventing workers from entering it after we start a shutdown does nothing for workers that might be in it already. regards, tom lane
В списке pgsql-hackers по дате отправления: