I wrote:
> I count three distinct bugs that were exposed by this attempt:
> ...
> 2. Said bug causes a segfault in the apply worker process.
> This causes the parent postmaster to give up and die.
> I don't understand why we don't treat that like a crash
> in a regular backend, considering that an apply worker
> is running largely user-defined code.

Figured that one out: we *do* treat it like a crash in a regular
backend, which explains the lack of field complaints.  What's
contributing to the TAP test getting stuck is that PostgresNode.pm
does this:

        open my $conf, '>>', "$pgdata/postgresql.conf";
        print $conf "\n# Added by PostgresNode.pm\n";
        ...
        print $conf "restart_after_crash = off\n";

So that'd be fine, if only the TAP tests were a bit more robust
about postmasters disappearing unexpectedly.

BTW, I wonder whether it wouldn't be a good idea for the
postmaster to log something along the lines of "stopping
because restart_after_crash is off".  The present behavior
can be quite mysterious otherwise (it certainly confused me).

                        regards, tom lane


Reply via email to