Re: [RFC][PATCH] wal decoding, attempt #2 - Design Documents (really attached) - Mailing list pgsql-hackers
From | Simon Riggs |
---|---|
Subject | Re: [RFC][PATCH] wal decoding, attempt #2 - Design Documents (really attached) |
Date | |
Msg-id | CA+U5nMJ_V8HGfx_XP6+L31KcyczkHxAP9+b7=0_7WWXiAKkzcw@mail.gmail.com Whole thread Raw |
In response to | Re: [RFC][PATCH] wal decoding, attempt #2 - Design Documents (really attached) (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: [RFC][PATCH] wal decoding, attempt #2 - Design Documents
(really attached)
|
List | pgsql-hackers |
On 15 October 2012 21:03, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> On Mon, Oct 15, 2012 at 3:18 PM, Peter Geoghegan <peter@2ndquadrant.com> wrote: >>> On 15 October 2012 19:19, Bruce Momjian <bruce@momjian.us> wrote: >>>> I think Robert is right that if Slony can't use the API, it is unlikely >>>> any other replication system could use it. > >>> I don't accept that. Clearly there is a circular dependency, and >>> someone has to go first - why should the Slony guys invest in adopting >>> this technology if it is going to necessitate using a forked Postgres >>> with an uncertain future? > >> Clearly, core needs to go first. However, before we commit, I would >> like to hear the Slony guys say something like this: We read the >> documentation that is part of this patch and if the feature behaves as >> advertised, we believe we will be able to use it in place of the >> change-capture mechanism that we have now, and that it will be at >> least as good as what we have now if not a whole lot better. > >> If they say something like "I'm not sure we have the right design for >> this" or "this wouldn't be sufficient to replace this portion of what >> we have now because it lacks critical feature X", I would be very >> concerned about that. > > The other point here is that core code without any implemented use-cases > is unlikely to be worth a tinker's damn. Regardless of what time-frame > the Slony guys are able to work on, I think we need to see working code > (of at least prototype quality) before we believe that we've got it > right. Or if not code from them, code from some other replication > project. > > A possibly-useful comparison is to the FDW APIs we've been slowly > implementing over the past couple releases. Even though we *did* have > some use-cases written right off the bat, we got it wrong and had to > change it in 9.2, and I wouldn't bet against having to change it again > in 9.3 (even without considering the need for extensions for non-SELECT > operations). And, despite our very clear warnings that all that stuff > was in flux, people have been griping because the APIs changed. > > So if we ship core hooks for logical replication in advance of proof > that they're actually usable by at least one (preferably more than one) > replication project, I confidently predict that they'll be wrong and > will need revision and the potential users will complain about the > API instability. The prototype we showed at PgCon illustrated a working system, so we're on the right track. We've split that in two now, specifically to allow other projects to use what is being built. The exact API of that split is for discussion and has been massively redesigned on community advice for the sole purpose of including other approaches. We can't guarantee that external open source or commercial vendors will use the API. But we can say that in-core use cases exist for multiple approaches. We shouldn't put the decision on that in the hands of others. Jan spoke at length at PgCon, for all to hear, that what we are building is a much better way than the trigger logging approach Slony uses. I don't take that as carte blanche for approval of everything being done, but its going in the right direction with an open heart, which is about as good as it gets. There will be a working system again soon, once we have re-built things around the new API. The longer it takes to get a stable API the longer we take to rebuild things around it again. The goal of the project is to release everything open source, PGDG copyrighted and TPL licenced and to submit to core. We are signed up to that in various ways, not least of all our word given publicly. Please give this your backing, so an open source outcome can be possible. -- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
pgsql-hackers by date: