Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-14109

MyRocks port: do we need manual update of slave_gtid_info?


    • Type: Task
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: None
    • Labels:


      Upstream MyRocks has this patch:

      commit 0f402cb8381ba9d8e71c93085a22e5a12589b6e3
      Author: Santosh Praneeth Banda <santoshb@fb.com>
      Date:   Thu Nov 5 13:54:45 2015 -0800
          Improve singled thread replication performance
          On slave we update the slave_gtid_info table through MySQL. Delegate this
          to storage engine which is more efficient. SQL threads updates the row information
          in THD structure. Storag engines (InnoDB and Rocksdb) uses this information and
          updates the slave_gtid_info table during prepare phase.

      For the user, the server has a global @@slave_gtid_info variable. Possible values are ON, OFF, OPTIMIZED. OPTIMIZED only works for MyRocks and means that the storage engine takes care of maintaining the mysql.slave_gtid_info table.

      ha_rocksdb.cc has code that manually updates slave_gtid_info to reflect the binlog position.

      MariaDB's equivalent of slave_gtid_info is called gtid_slave_pos.

      MariaDB currently doesn't have the SQL part of this feature. We could port it, but

      • it may be hard to put something like this into MariaDB 10.2
      • this does not seem like a priority task?

      See also: MDEV-12179, per-engine gtid_slave_pos. It is only in MariaDB-10.3, though.


          Issue Links



              • Assignee:
                psergey Sergei Petrunia
                psergey Sergei Petrunia
              • Votes:
                0 Vote for this issue
                2 Start watching this issue


                • Created: