From: | Magnus Hagander <magnus(at)hagander(dot)net> |
---|---|
To: | Célestin Matte <celestin(dot)matte(at)cmatte(dot)me> |
Cc: | PostgreSQL WWW <pgsql-www(at)lists(dot)postgresql(dot)org> |
Subject: | Re: [PATCH] pgarchives: Bugfix: allow message's parentid to be null |
Date: | 2021-10-27 09:19:46 |
Message-ID: | CABUevEyFpYPEHh0AAyTAsgymRKOOVA1SY_pDHPCbBQQ9BawfTA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-www |
On Tue, Oct 26, 2021 at 8:31 PM Célestin Matte <celestin(dot)matte(at)cmatte(dot)me>
wrote:
> Attached: associated migration
>
> On 25/10/2021 16:52, Célestin Matte wrote:
> > Hello,
> >
> > Upon execution of load_messages.py, when creating a new thread, I get a
> crash:
> > (Sorry about the format, I get this out of strace)
> >
> > Traceback (most recent call last):\n File
> \"/srv/pgarchives/local/loader/load_message.py\", lin\
> > e 174, in <module>\n ap.store(conn, listid, opt.overwrite,
> opt.overwrite)\n File \"/srv/pgarchives/local/loader/li\
> > b/storage.py\", line 232, in store\n 'rawtxt':
> bytearray(self.rawtxt),\npsycopg2.errors.NotNullViolation: null valu\
> > e in column \"parentid\" violates not-null constraint\nDETAIL: Failing
> row contains (2, 2, cmatte <cmatte(at)[my_domain]\
> > .tld>, helloworld(at)[my_pglister_domain], , Test archive after
> redeployment 2, 2021-10-25 14:13:32+00, 1635171212.3\
> > 49997(dot)1068459(dot)nullmailer(at)[my_domain], hello world\n\n\n\n, null, f,
> null, \\x46726f6d2068656c6c6f776f726c642d6f776\
> > e65722b617263686976654062..., '2':5A 'after':3A 'archive':2A 'hello':6
> 'redeployment':4A 'test...).\n\n
> >
> > I think the way to fix this is simply to allow message.parentid to be
> null.
>
>
Yeah, this looks to be another disreptency between the Django model and the
schema.sql file. The table when created from schema.sql will allow nulls.
So I can confirm that the field *should* allow nulls, and the only reason
it hasn't been an actual problem is that we never ever do any writes to the
system through the django model.
That said, I think the correct solutoin is still, as I mentioned in one of
the other threads, to completely move everything into the initial
migration, instead of doing a piecemeal hack that's going to result in a
lot of small migrations for no real reason. We should just accept that the
existing one is broken and replace it.
If you're willing to look into working on that I'd be happy to review on
that one, but if it seems a bit too much I can work on that one myself as
well, but it might take a bit before I have time to dig into it properly.
//Magnus
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2021-10-27 09:21:37 | Re: [PATCH] pgweb: Add ARCHIVES_FRONT_ADDRESS to allow configuration of archives |
Previous Message | Célestin Matte | 2021-10-26 18:31:46 | Re: [PATCH] pgarchives: Bugfix: allow message's parentid to be null |