From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Dmitry Dolgov <9erthalion6(at)gmail(dot)com> |
Cc: | Jeevan Ladhe <jeevan(dot)ladhe(at)enterprisedb(dot)com>, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, tushar <tushar(dot)ahuja(at)enterprisedb(dot)com> |
Subject: | Re: refactoring basebackup.c |
Date: | 2021-11-15 19:23:35 |
Message-ID: | CA+TgmoYScZ-wKtc+s_mLqSGGskd=vPb0Yh8ci_yQUgfNYG9rLQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Nov 15, 2021 at 11:25 AM Dmitry Dolgov <9erthalion6(at)gmail(dot)com> wrote:
> Walsender tries to send a backup manifest, but crashes on the trottling sink:
>
> #2 0x0000560857b551af in ExceptionalCondition (conditionName=0x560857d15d27 "sink->bbs_next != NULL", errorType=0x560857d15c23 "FailedAssertion", fileName=0x560857d15d15 "basebackup_sink.c", lineNumber=91) at assert.c:69
> #3 0x0000560857918a94 in bbsink_forward_manifest_contents (sink=0x5608593f73f8, len=32768) at basebackup_sink.c:91
> #4 0x0000560857918d68 in bbsink_throttle_manifest_contents (sink=0x5608593f7450, len=32768) at basebackup_throttle.c:125
> #5 0x00005608579186d0 in bbsink_manifest_contents (sink=0x5608593f7450, len=32768) at ../../../src/include/replication/basebackup_sink.h:240
> #6 0x0000560857918b1b in bbsink_forward_manifest_contents (sink=0x5608593f74e8, len=32768) at basebackup_sink.c:94
> #7 0x0000560857911edc in bbsink_manifest_contents (sink=0x5608593f74e8, len=32768) at ../../../src/include/replication/basebackup_sink.h:240
> #8 0x00005608579129f6 in SendBackupManifest (manifest=0x7ffdaea9d120, sink=0x5608593f74e8) at backup_manifest.c:373
>
> Looking at the similar bbsink_throttle_archive_contents it's not clear
> why comments for both functions (archive and manifest throttling) say
> "pass archive contents to next sink", but only bbsink_throttle_manifest_contents
> does pass bbs_next into the bbsink_forward_manifest_contents. Is it
> supposed to be like that? Passing the same sink object instead the next
> one into bbsink_forward_manifest_contents seems to solve the problem in
> this case.
Yeah, that's what it should be doing. I'll commit a fix, thanks for
the report and diagnosis.
--
Robert Haas
EDB: http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2021-11-15 19:23:40 | Re: [RFC] building postgres with meson |
Previous Message | Peter Eisentraut | 2021-11-15 19:15:04 | Re: Frontend error logging style |