Re: Hot standby and b-tree killed items
От | Simon Riggs |
---|---|
Тема | Re: Hot standby and b-tree killed items |
Дата | |
Msg-id | 1229709980.4793.564.camel@ebony.2ndQuadrant обсуждение исходный текст |
Ответ на | Re: Hot standby and b-tree killed items ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>) |
Ответы |
Re: Hot standby and b-tree killed items
Re: Hot standby and b-tree killed items |
Список | pgsql-hackers |
On Fri, 2008-12-19 at 11:54 -0600, Kevin Grittner wrote: > >>> Simon Riggs <simon@2ndQuadrant.com> wrote: > > > If I was going to add anything to the btree page header, it would be > > latestRemovedLSN, only set during recovery. That way we don't have > to > > explicitly kill queries, we can do the a wait on OldestXmin then let > > them ERROR out when they find a page that has been modified. > > > > I have a suspicion that we may need some modification of that > solution > > for all data blocks, so we don't kill too many queries. > > If the failure is caused by the timing of various database > transactions, and the query is likely to run successfully after a > delay and a retry, please use SQLSTATE of '40001'. Some software > (ours, for one) will recognize this and retry the query automatically, > so that the user impact is essentially the same as blocking. I understand the need, but we won't be using SQLSTATE = 40001. That corresponds to ERRCODE_T_R_SERIALIZATION_FAILURE, which that error would not be. The error message ought to be "snapshot too old", which could raise a chuckle, so I called it something else. The point you raise is a good one and I think we should publish a list of retryable error messages. I contemplated once proposing a special log level for a retryable error, but not quite a good idea. -- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support
В списке pgsql-hackers по дате отправления: