Steve Singer ssinger at ca.afilias.info
Wed Feb 22 06:10:15 PST 2012
On 12-01-22 05:08 AM, Brian Fehrle wrote:
> Hi all,
> I'm trying to get a slony slave that is very behind synced up, and I'm
> running into an issue where the sync query is overloading PostgreSQL's

> So I tried to use the variables 'quit_sync_provider' and
> 'quit_sync_finalsync' as described in the docs:
> http://slony.info/documentation/2.1/slon-config-interval.html
>
> In my slon log output, I'm getting the following error:
> WARN conf option quit_sync_finalsync not found<timestamp>Unrecognized
> configuration parameter "quit_sync_finalsync"
>
> So I did some digging and I think I found a missing block of code in the
> 2.1.0 version of confoptions.c

I've not forgotten about this, it just took me a while to get to it.

Even if I add that block back into confoptions.c  I am seeing some issues.

1) quit_sync_finalsync is an int, not an int64, most of our event 
sequence numbers exceed the space available for a 32 bit int.  We don't 
have  a SLON_C_INT64 array + processing code in confoptions.c, we would.

2) Even with a smaller quit sequence number slon is segfaulting in the 
call to slon_log(FATAL).  I am not sure why.

3) If slon didn't segfault I think it would keep restarting itself and 
exiting due to the slon_retry() call, I don't think this is what the 
user intends to happen.

Getting this feature working seems a bit more complicated than just 
adding in the confoption block.


>
> In slony 2.0.7 - confoptions.c we have the following block:
> -----------------------------------------------
>      {
>          {
>              (const char *) "quit_sync_finalsync",
>              gettext_noop("SYNC number at which slon should abort"),
>              gettext_noop("We want to terminate slon when the worker
> thread reaches a certain SYNC number "
> "against a certain provider.  This is the SYNC number... "),
>              SLON_C_INT
>          },
> &quit_sync_finalsync,
>          0,
>          0,
>          2147483647
>      },
> -----------------------------------------------
>
> However, when I look at confoptions.c , it does not have this block at
> all. Both versions have a block that grabs "quit_sync_provider". And the
> remote_worker.c references this variable several times, so it should be
> expecting to receive it.
>
> - Brian F
>
>
>
> _______________________________________________
> Slony1-general mailing list
> Slony1-general at lists.slony.info
> http://lists.slony.info/mailman/listinfo/slony1-general



More information about the Slony1-general mailing list