On Tue, 2009-09-15 at 09:41 +0300, Heikki Linnakangas wrote: > Simon Riggs wrote: > > In recovery of GIN operations using CVS HEAD I see consistently > > > > TRAP: FailedAssertion("!(((bool) ((spcNode) != ((Oid) 0))))", File: > > "tablespace.c", Line: 116) > > > > Looking at code, "new list page" WAL record is a GIN record type and at > > line 115 in gin/ginfast.c I see that the value of the node is unset. > > That means XLOG_GIN_INSERT_LISTPAGE always has specNode == 0 and so > > triggers the assertion failure. > > Yeah, so it seems. The fix should be as simple as:
I can't speak for anything more than that it stops it from failing with an assertion. That is very good since it allows me to bypass it and continue with my own testing. > This means that the WAL replay of that record type has never been tested > correctly :-(. This must have been added after mid-Feb this year. I notice there are a few places where functionality is tested against temp tables, which may mask other non-recoverable issues in this and other rmgrs. We should make it standard practice to include only non-temp tables to cover functionality other than specific temp table commands. -- Simon Riggs www.2ndQuadrant.com -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs