Tue Jan 16 19:34:35 PST 2018
- Previous message: [Slony1-hackers] Akamai AMS patches
- Next message: [Slony1-hackers] Akamai AMS patches
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, 10 Jan 2018, Tignor, Tom wrote: Thank you for your submissions. I will try to look at the patches individually. compatibility_v2.2.patch My understanding of this patch is so that you slon for any 2.2.x version to be able to connect and replicate against a backend database with any other 2.2.y version (where x and y can be, but are not required to be equal). This is something that we've resisted doing in the past. I think the reason why we've resisted doing this in the past is that the we've never wanted prevent ourselves from making an incompatible change, such as changing the signature of an internal stored function between minor versions. I think we've also not wanted to have to take on the burden of testing all the combinations. I guess my question to the wider list (and Jan and Chris in particular) is how do we feel about such a 'policy' change. My gut is that I'd prefer a solution where we can say that certain ranges of minor versions are compatible without having to say that any 2.2.x versions are compatible. I would be surprised if there wasn't a change somewhere in the 2.1.x lifecycle that broke compatibility. Without looking closely I'm not prepared to even say that failovers between 2.2.1 and 2.2.6 would work(because failover logic did change in this range). A few things on the specific patch +++ slony1-2.2.6/src/slon/dbutils.c 2017-12-22 08:08:33.027322631 -0500 @@ -5,6 +5,7 @@ * * Copyright (c) 2003-2009, PostgreSQL Global Development Group * Author: Jan Wieck, Afilias USA INC. + * Copyright (C) 2017 - Akamai Technologies, Inc * * * ---------------------------------------------------------------------- @@ -418,7 +419,8 @@ We don't normally list contributors in the copyright section. The copyright to PostgreSQL global development group is intended to cover all contributors. @@ -418,7 +419,8 @@ /* * Check the version string of the schema */ - if (strcmp(PQgetvalue(res, 0, 0), SLONY_I_VERSION_STRING) != 0) + if (strncmp(PQgetvalue(res, 0, 0), SLONY_I_VERSION_STRING, + strlen("2.2.")) != 0) If I am reading the above code correctly 2.2.1 and 2.2.9 would be compatible 2.10.1 and 2.10.2 would not be compatible Would we be better off calling slonyVersionMajor() , slonyVersionMinor() and comparing the major/minor numbers directly to each other? Steve > > > > Hello slony1-hackers, > > Here at Akamai we have been using Slony-I to scale out read capacity for our Alert Management > System (AMS). Along the way we’ve needed to make a number of customizations. I’m submitting those now to consider > for inclusion in the Slony-I code base. Please find the patches attached and meta info below which would be > appropriate to use with code commits. Please take a look when time allows and let me know if there are any > questions or other changes to consider. > > Thanks in advance, > > > > Patch: compatibility_v2.2.patch > > Summary: Allows version 2.2.x slon daemons to operate in any Slony-I version 2.2.x DB schema. > Copyright (C) 2017 - Akamai Technologies, Inc > > > > Patch: pg_home_share_path.patch > > Summary: Allows the slonik configuration utility to discover the postgresql installation share > path via the PG_HOME environment variable. Copyright (C) 2017 - Akamai Technologies, Inc > > > > Patch: remote_listen_serial_option.patch > > Summary: Provides a configuration option to allow slon daemon remote listeners to operate with > either “repeatable read” or “serializable” transaction isolation. Copyright (C) 2017 - Akamai Technologies, Inc > > > > > > Tom ☺ > > > > > > >
- Previous message: [Slony1-hackers] Akamai AMS patches
- Next message: [Slony1-hackers] Akamai AMS patches
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-hackers mailing list