Dear Sawada-san,

> > I think that replaying the status change record itself is correct, as
> > it reflects the status at the time the record was written. The problem
> > is that the end-of-recovery code assumed that this cannot happen,
> > instead of adjusting the status. Therefore, the fix removes the
> > wal_level='minimal' special case from
> > UpdateLogicalDecodingStatusEndOfRecovery() so that it recomputes the
> > status as usual.

Good catch. I could reproduce.

I initially thought that we could just skip redoing for
XLOG_LOGICAL_DECODING_STATUS_CHANGE records. I confirmed it could also solve the
issue. Also, I think it could slightly reduce the redoing time because it does
not have to emit/wait the ProcSignalBarrier. But your point is also valid:
either way is fine for me.

I reviewed your patches and I could not find issues.

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Reply via email to