Re: Fix CheckpointStartLock starvation
От | Tom Lane |
---|---|
Тема | Re: Fix CheckpointStartLock starvation |
Дата | |
Msg-id | 9715.1175619584@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Fix CheckpointStartLock starvation (Heikki Linnakangas <heikki@enterprisedb.com>) |
Ответы |
Re: Fix CheckpointStartLock starvation
|
Список | pgsql-patches |
Heikki Linnakangas <heikki@enterprisedb.com> writes: > On a busy system, checkpoint could be starved while queuing for the > CheckpointStartLock. To avoid that, get rid of CheckpointStartLock and > instead set a flag in PGPROC struct when a commit starts. After > computing the REDO ptr, checkpoint waits for all backends that had that > flag set to finish their commits. This eliminates the same race > condition the CheckpointStartLock was there for, without the risk of > starvation. Applied with some revisions --- I did not see the point of forcing checkpoint to wait till the transaction was fully out of its commit; we only need it to wait till clog is updated. The procarray code seemed overly complicated too. regards, tom lane
В списке pgsql-patches по дате отправления: