Re: patch to ensure logical decoding errors early

Petr Jelinek <petr.jelinek@2ndquadrant.com>

From: Petr Jelinek <petr.jelinek@2ndquadrant.com>
To: Andres Freund <andres@anarazel.de>, Dave Cramer <davecramer@gmail.com>, Petr Jelinek <petr@2ndquadrant.com>, Simon Riggs <simon@2ndQuadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-08-01T14:13:39Z
Lists: pgsql-hackers
Hi,

On 31/07/18 20:58, Andres Freund wrote>
>> diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c
>> index 3cd4eef..9f883b9 100644
>> --- a/src/backend/replication/logical/logical.c
>> +++ b/src/backend/replication/logical/logical.c
>> @@ -143,8 +143,7 @@ StartupDecodingContext(List *output_plugin_options,
>>  	 * (re-)load output plugins, so we detect a bad (removed) output plugin
>>  	 * now.
>>  	 */
>> -	if (!fast_forward)
>> -		LoadOutputPlugin(&ctx->callbacks, NameStr(slot->data.plugin));
>> +	LoadOutputPlugin(&ctx->callbacks, NameStr(slot->data.plugin));
> 
> So this actually was broken by 9c7d06d60680c7f00d931233873dee81fdb311c6
> and worked before? Petr, Simon?  Isn't the actual bug here that
> CreateInitDecodingContext() passes true for fast_forward?  Dave, could
> you confirm this is the case?  If so, this'll end up actually being an
> open items entry...
> 

Indeed.

-- 
  Petr Jelinek                  http://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training & Services


Commits

  1. Fix logical replication slot initialization

  2. Ability to advance replication slots