Description:
|
------------
|
Before this patch, the life cycle for a GTID like the following:
|
Generate a GTID => Add the GTID into owned_gtid => Flush the GTID into binlog
|
=> Remove the GTID from owned_gtid. Owned_gtid can be treated as an intermediate
|
set to hold all of the GTIDs of current thread.
|
|
After this patch, the life cycle for such a GTID can be like this:
|
Generate a GTID => Add the GTID into binlog. Of course, if anything
|
wrong happens, we have to remove the GTID from the binlog. Before this
|
patch, we can remove the GTID from owned_gtid. Obviously, we shortened
|
the life cycle of GTID.
|
|
In order to support this feature, we introduced a new system variable
|
"rds_gtid_precommit". If it's on, we will change the life cycle of GTID.
|