-
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
Pedro Gomes authoredWhen 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
Loading