Skip to content
  • Pedro Gomes's avatar
    ee879f27
    BUG#32019842: WRITE_SET VECTOR HAS NO UPPER MEMORY LIMIT · ee879f27
    Pedro Gomes authored
    When the option is active, each server transaction will collect write
    sets for each row, allowing to identify what changes the transaction
    made, important for replication parallelization in general and Group
    Replication conflict detection.
    
    This patch improves the handling of write set collection for each
    transaction in 2 ways.
    
    First is that write sets are discarded if their size grow above
    binlog_transaction_dependency_history_size. As a consequence the
    transaction will no longer be marked as concurrent with previous ones
    even if they touch different data.
    
    The second one is that components like Group Replication can set
    memory limits for the collection of write sets. Components like GR are
    dependent on write sets being present, so they will never be
    discarded, but breaking this memory limit will cause transactions to
    abort.
    
    ReviewBoard: 25520
    ReviewBoard: 25592
    (cherry picked from commit 933cc1c3b1dcf175de5aef0b6e2a826435481af6)
    ee879f27
    BUG#32019842: WRITE_SET VECTOR HAS NO UPPER MEMORY LIMIT
    Pedro Gomes authored
    When the option is active, each server transaction will collect write
    sets for each row, allowing to identify what changes the transaction
    made, important for replication parallelization in general and Group
    Replication conflict detection.
    
    This patch improves the handling of write set collection for each
    transaction in 2 ways.
    
    First is that write sets are discarded if their size grow above
    binlog_transaction_dependency_history_size. As a consequence the
    transaction will no longer be marked as concurrent with previous ones
    even if they touch different data.
    
    The second one is that components like Group Replication can set
    memory limits for the collection of write sets. Components like GR are
    dependent on write sets being present, so they will never be
    discarded, but breaking this memory limit will cause transactions to
    abort.
    
    ReviewBoard: 25520
    ReviewBoard: 25592
    (cherry picked from commit 933cc1c3b1dcf175de5aef0b6e2a826435481af6)
Loading