default_transaction_isolation = serializable causes crash under Hot Standby - Mailing list pgsql-hackers

From Robert Haas
Subject default_transaction_isolation = serializable causes crash under Hot Standby
Date
Msg-id CA+Tgmoa0UM2W1YkjjneEgJctzxopC3G53ocYPaCyoEOWT3aKiA@mail.gmail.com
Whole thread Raw
Responses Re: default_transaction_isolation = serializable causes crash under Hot Standby  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
List pgsql-hackers
When I do this:

rhaas=# set default_transaction_isolation = 'serializable';
SET
rhaas=# begin;
BEGIN
rhaas=# select 1;

Then I get this:

TRAP: FailedAssertion("!(!RecoveryInProgress())", File: "predicate.c",
Line: 1637)
LOG:  server process (PID 290) was terminated by signal 6: Abort trap

The root of the problem here seems to be that we're imagining that
it's possible to prevent serializable mode from being used under HS
from within the check function for the transaction_isolation GUC - see
check_XactIsoLevel.  However, because there's a second GUC
(default_transaction_isolation) that can also be used to change the
initial setting, it doesn't work.

I'm not exactly sure what the best way to fix this is.  I assume that
this problem also exists in 9.1, but I haven't checked.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Abbas Butt
Date:
Subject: A problem with dump/restore of views containing whole row references
Next
From: Andrew Dunstan
Date:
Subject: Re: A problem with dump/restore of views containing whole row references