Re: old_snapshot_threshold bottleneck on replica
От | Thomas Munro |
---|---|
Тема | Re: old_snapshot_threshold bottleneck on replica |
Дата | |
Msg-id | CA+hUKGJSoVQF1V2O5cidpQihVEFtOT7L5C6C0hRMj6wjLgxK1Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: old_snapshot_threshold bottleneck on replica (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: old_snapshot_threshold bottleneck on replica
|
Список | pgsql-hackers |
On Tue, Feb 14, 2023 at 9:45 AM Andres Freund <andres@anarazel.de> wrote: > On 2023-01-24 10:46:28 -0500, Robert Haas wrote: > > On Mon, Jan 23, 2023 at 9:40 AM Maxim Orlov <orlovmg@gmail.com> wrote: > > > One of our customers stumble onto a significant performance degradation while running multiple OLAP-like queries ona replica. > > > After some investigation, it became clear that the problem is in accessing old_snapshot_threshold parameter. > > > > It has been suggested that we remove that feature entirely. > > Indeed. There's a lot of things wrong with it. We have reproducers for > creating wrong query results. Nobody has shown interest in fixing the > problems, for several years by now. It costs users that *do not* use the > feature performance (*). > > I think we're doing our users a disservice by claiming to have this feature. > > I don't think a lot of the existing code would survive if we were to create a > newer version, more maintainable / reliable, version of the feature. I raised this at the recent developer meeting and the assembled hackers agreed. Does anyone think we *shouldn't* drop the feature? I volunteered to write a removal patch for v17, so here's a first run through to find all the traces of this feature. In this first go I removed everything I could think of, but we might want to keep some vestiges. I guess we might want to keep the registered error class/code? Should we invent a place where we keep stuff like #define TestForOldSnapshot(...) expanding to nothing for some amount of time, for extensions? I dunno, I bet extensions doing stuff that sophisticated already have a bunch of version tests anyway. I suppose keeping the GUC wouldn't really be helpful (if you're using it, you probably want to know that it isn't available anymore and think about the implications for your application).
Вложения
В списке pgsql-hackers по дате отправления: