Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Not a Bug
-
None
-
10.3.3-1
Description
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.
|
https://github.com/alibaba/AliSQL/commit/aa5e331b00272e5b972a411d17f1079550eb04c1
Unlike Mysql there is no notion of 'owned' gtid in Mariadb. Autogenerated gtid value
is always binlogged optimally not to hold any critical resource so there's nothing to
optimize.