On Thu, 2011-03-17 at 09:33 -0400, Robert Haas wrote: > Thanks for the review!
Lets have a look here... You've added a test inside the lock to see if there is a standby, which I took out for performance reasons. Maybe there's another way, I know that code is fiddly. You've also added back in the lock acquisition at wakeup with very little justification, which was a major performance hit. Together that's about a >20% hit in performance in Yeb's tests. I think you should spend a little time thinking how to retune that. I see handling added for ProcDiePending and QueryCancelPending directly into syncrep.c without any comments in postgres.c to indicate that you bypass ProcessInterrupts() in some cases. That looks pretty hokey to me. SyncRepUpdateSyncStandbysDefined() is added into walwriter, which means waiters won't be released if we do a sighup during a fast shutdown, since the walwriter gets killed as soon as that starts. I'm thinking bgwriter should handle that now. -- Simon Riggs http://www.2ndQuadrant.com/books/ PostgreSQL Development, 24x7 Support, Training and Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers