Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

clog.c

  • Alvaro Herrera's avatar
    06da3c57
    Rework subtransaction commit protocol for hot standby. · 06da3c57
    Alvaro Herrera authored
    This patch eliminates the marking of subtransactions as SUBCOMMITTED in pg_clog
    during their commit; instead they remain in-progress until main transaction
    commit.  At main transaction commit, the commit protocol is atomic-by-page
    instead of one transaction at a time.  To avoid a race condition with some
    subtransactions appearing committed before others in the case where they span
    more than one pg_clog page, we conserve the logic that marks them subcommitted
    before marking the parent committed.
    
    Simon Riggs with minor help from me
    06da3c57
    History
    Rework subtransaction commit protocol for hot standby.
    Alvaro Herrera authored
    This patch eliminates the marking of subtransactions as SUBCOMMITTED in pg_clog
    during their commit; instead they remain in-progress until main transaction
    commit.  At main transaction commit, the commit protocol is atomic-by-page
    instead of one transaction at a time.  To avoid a race condition with some
    subtransactions appearing committed before others in the case where they span
    more than one pg_clog page, we conserve the logic that marks them subcommitted
    before marking the parent committed.
    
    Simon Riggs with minor help from me