From: | Stephen Frost <sfrost(at)snowman(dot)net> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | Andres Freund <andres(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: MultiXactId error after upgrade to 9.3.4 |
Date: | 2014-03-31 14:34:24 |
Message-ID: | 20140331143424.GR4582@tamriel.snowman.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
* Alvaro Herrera (alvherre(at)2ndquadrant(dot)com) wrote:
> > I think this rule is wrong. I think the rule ought to be something like
> > "if the XMAX_INVALID bit is set, then reset whatever is there if there
> > is something; if the bit is not set, proceed as today". Otherwise we
> > risk reading garbage, which is what is happening in this case.
>
> Andres asks on IM: How come there is garbage there in the first place?
> I have to admit I have no idea.
I haven't got any great explanation for that either. I continue to feel
that it's much more likely that it's an xid than a multixid. Is it
possible that it was stamped with a real xmax through some code path
which ignored the IS_MULTI flag? This could have been from as far back
as 9.0-era. On this over-7TB database, only this one tuple had the
issue. I have another set of databases which add up to ~20TB that I'm
currently testing an upgrade from 9.2 to 9.3 on and will certainly let
everyone know if I run into a similar situation there.
On our smallest DB (which we upgraded first) which is much more OLTP
instead of OLAP, we didn't run into this.
This is all on physical gear and we've seen no indications that there
has been any corruption. Hard to rule it out completely, but it seems
pretty unlikely.
Thanks,
Stephen
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2014-03-31 14:44:08 | Re: Comment in src/backend/commands/vacuumlazy.c |
Previous Message | Alvaro Herrera | 2014-03-31 14:25:20 | Re: MultiXactId error after upgrade to 9.3.4 |