Simon Riggs <simon@2ndQuadrant.com> writes:
> On Fri, Apr 6, 2012 at 2:56 AM, Rural Hunter <ruralhunter@gmail.com> wrote:
>> 2012-04-06 02:37:27 CST [@] PANIC: GIN metapage disappeared
Known bug, see
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=57b100fe0fb1d0d5803789d3113b89fa18a34fad
>> 2012-04-06 02:37:27 CST [@] CONTEXT: xlog redo Update metapage, node:
>> 37547844/16405/83896882 blkno: 4294967295
> The blkno is all wrong, so it looks like a clear bug to me.
[ looks into that... ] The funny blkno is attributable to this
overly-cute code:
case XLOG_GIN_UPDATE_META_PAGE:
appendStringInfo(buf, "Update metapage, ");
desc_node(buf, ((ginxlogUpdateMeta *) rec)->node, ((ginxlogUpdateMeta *) rec)->metadata.tail);
break;
and we also have
case XLOG_GIN_DELETE_LISTPAGE:
appendStringInfo(buf, "Delete list pages (%d), ", ((ginxlogDeleteListPages *) rec)->ndeleted);
desc_node(buf, ((ginxlogDeleteListPages *) rec)->node, ((ginxlogDeleteListPages *) rec)->metadata.head);
break;
While there could be some point in printing the list head or tail
pointer, it's just confusing to print it with a label of "blkno".
I think we should just print the metapage block number here and
be done with it.
regards, tom lane