From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, "Bossart, Nathan" <bossartn(at)amazon(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, "masao(dot)fujii(at)oss(dot)nttdata(dot)com" <masao(dot)fujii(at)oss(dot)nttdata(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "mengjuan(dot)cmj(at)alibaba-inc(dot)com" <mengjuan(dot)cmj(at)alibaba-inc(dot)com>, "Jakub(dot)Wartak(at)tomtom(dot)com" <Jakub(dot)Wartak(at)tomtom(dot)com>, Ryo Matsumura <matsumura(dot)ryo(at)fujitsu(dot)com> |
Subject: | Re: prevent immature WAL streaming |
Date: | 2021-10-13 18:52:46 |
Message-ID: | 202110131852.rrxabqmxxoiw@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2021-Oct-13, Andres Freund wrote:
> I added LSNs to the error message:
> not ok 1 - 000000010000000000000002 (0/2002350) differs from 000000010000000000000002 (0/2099600)
>
> It appears that the problem is that inbetween the determination of
> rows_walsize the insert LSN moved to the next segment separately from the
> insertion, presumably due to autovacuum/analayze or such.
> <retries, with log_autovacuum_min_duration_statement=0, log_min_duration_statement=0>
Oh, of course.
> Hm. I guess we can disable autovac. But that's not a great solution, there
> might be WAL files due to catalog access etc too.
Well, we don't expect anything else to happen -- the cluster is
otherwise idle. I think we should do it regardless of any other
changes, just to keep things steadier.
> Seems like it might be worth doing the "filling" of the segment with a loop in
> a DO block instead, where the end condition is to be within some distance to
> the end of the segment? With plenty headroom?
Eh, good idea ... didn't think of that, but it should keep things more
stable under strange conditions.
> Another thing: filling a segment by inserting lots of very tiny rows is pretty
> expensive. Can't we use something a bit wider? Perhaps even emit_message?
I think I realized partway through writing the test that I could use
emit_message instead of using a batched row insert ... so, yeah, we
can use it here also.
--
Álvaro Herrera Valdivia, Chile — https://www.EnterpriseDB.com/
"La verdad no siempre es bonita, pero el hambre de ella sí"
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2021-10-13 18:55:23 | Re: pg14 psql broke \d datname.nspname.relname |
Previous Message | John Naylor | 2021-10-13 18:40:19 | Re: [RFC] building postgres with meson |