Hot Standby: Relation-specific deferred conflict resolution

Поиск
Список
Период
Сортировка
Искать
От
Simon Riggs
Тема
Hot Standby: Relation-specific deferred conflict resolution
Дата
Msg-id
1264715363.24669.12324.camel@ebony
Список
Дерево обсуждения
Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Guillaume Smet <guillaume.smet@gmail.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>
Re: Hot Standby: Relation-specific deferred conflict resolution Magnus Hagander <magnus@hagander.net>
Re: Hot Standby: Relation-specific deferred conflict resolution Robert Haas <robertmhaas@gmail.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution "Joshua D. Drake" <jd@commandprompt.com>
Re: Hot Standby: Relation-specific deferred conflict resolution "Joshua D. Drake" <jd@commandprompt.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Robert Haas <robertmhaas@gmail.com>
Re: Hot Standby: Relation-specific deferred conflict resolution "Joshua D. Drake" <jd@commandprompt.com>
Re: Hot Standby: Relation-specific deferred conflict resolution "Joshua D. Drake" <jd@commandprompt.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution "Joshua D. Drake" <jd@commandprompt.com>
Re: Hot Standby: Relation-specific deferred conflict resolution "Joshua D. Drake" <jd@commandprompt.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Robert Haas <robertmhaas@gmail.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Greg Stark <gsstark@mit.edu>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Josh Berkus <josh@agliodbs.com>
Re: Hot Standby: Relation-specific deferred conflictresolution "Joshua D. Drake" <jd@commandprompt.com>
Re: Hot Standby: Relation-specific deferred conflict resolution "Joshua D. Drake" <jd@commandprompt.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>
Re: Hot Standby: Relation-specific deferred conflict resolution Simon Riggs <simon@2ndQuadrant.com>
Re: Hot Standby: Relation-specific deferred conflict resolution Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>

Conflict resolution improvements are important to include in this
release, as discussed many times. Proposal given here
http://archives.postgresql.org/pgsql-hackers/2009-12/msg01175.php
presents a viable design to improve this.

Following patch is a complete working implementation of that design.
I'm still testing it, but its worth publishing as early as possible to
allow discussion. Not for commit, just yet, but soon.

standby.c changes are to decide whether to defer recovery based upon
relfilenode of WAL record. If resolution deferred, re-check for conflict
during LockAcquire() and fail with snapshot error, just as if resolution
had never been deferred. Also, an optimisation of conflict processing to
avoid continual re-evaluation of conflicts since some are now deferred.

API changes in heapam and nbtxlog to pass thru RelFileNode
API changes in indexcmds, no behaviour changes
procarray changes to implement LatestRemovedXid cache

 backend/access/heap/heapam.c    |    6 -
 backend/access/nbtree/nbtxlog.c |    2 
 backend/commands/indexcmds.c    |    4 -
 backend/storage/ipc/procarray.c |   55 +++++++++++-
 backend/storage/ipc/standby.c   |  112 +++++++++++++++++++++++------
 backend/storage/lmgr/lock.c     |  124 ++++++++++++++++++++++++++++++--
 include/storage/lock.h          |    8 ++
 include/storage/proc.h          |    5 +
 include/storage/standby.h       |    9 ++
 9 files changed, 292 insertions(+), 33 deletions(-)

-- 
 Simon Riggs           www.2ndQuadrant.com
В списке pgsql-hackers по дате отправления
От: Mike Rylander
Дата:
Сообщение: Re: remove contrib/xml2
От: Merlin Moncure
Дата:
FAQ