Re: [HACKERS] Speedup twophase transactions
| От | Nikhil Sontakke | 
|---|---|
| Тема | Re: [HACKERS] Speedup twophase transactions | 
| Дата | |
| Msg-id | CAMGcDxdkGpLMaWmSWPLqa4p1EUhx7Hqw6A4sh=fRPBTf-TPmMA@mail.gmail.com обсуждение исходный текст  | 
		
| Ответ на | Re: [HACKERS] Speedup twophase transactions (Michael Paquier <michael.paquier@gmail.com>) | 
| Ответы | 
                	
            		Re: [HACKERS] Speedup twophase transactions
            		
            		 | 
		
| Список | pgsql-hackers | 
> --- a/src/backend/access/transam/xlog.c
> +++ b/src/backend/access/transam/xlog.c
> @@ -9573,6 +9573,7 @@ xlog_redo(XLogReaderState *record)
>                      (errmsg("unexpected timeline ID %u (should be %u)
> in checkpoint record",
>                              checkPoint.ThisTimeLineID, ThisTimeLineID)));
>
> +        KnownPreparedRecreateFiles(checkPoint.redo);
>          RecoveryRestartPoint(&checkPoint);
>      }
> And actually, when a XLOG_CHECKPOINT_SHUTDOWN record is taken, 2PC
> files are not flushed to disk with this patch. This is a problem as a
> new restart point is created... Having the flush in CheckpointTwoPhase
> really makes the most sense.
Having CheckPointTwoPhase() do the flush would mean shifting the data
from KnownPreparedList into TwoPhaseState shmem.
I wonder what's the best location for this in the common case when we
do shutdown of standby.  We could add code in XLOG_CHECKPOINT_SHUTDOWN
and XLOG_CHECKPOINT_ONLINE xlog_redo code path.
Regards,
Nikhils
-- Nikhil Sontakke                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services
		
	В списке pgsql-hackers по дате отправления: