Hi all,

On 9 March 2017 at 04:47, Will Fong <will.fong@mariadb.com> wrote:
On Wed, Mar 8, 2017 at 4:58 PM, Kristian Nielsen
> So to summarise
>
>  - Auto create mysql.gtid_slave_pos_{innodb,tokudb,myrocks} if a transaction
>    is seen in one of those engines
>
>  - A --skip-gtid-auto-create-pos-table to disable this auto behaviour
>
>  - A stored procedure mysql.gtid_pos_add_engine() to facilitate manually
>    adding an engine table.
>
> What do you think, does this sound ok? Suggestions for better ways?

I like this idea very much!!!

I also like it very much.  Let me add my 2 cents: I think skip-gtid-auto-create-pos-table should be enabled (skipping creation) by default in the 1st release of the new "per-engine mysql.gtid_slave_pos" feature.  This respects the "principle of least surprise" when upgrading to a new version and could be changed in a next major version.  To complete that, maybe adding some counters (statues) about:
  • number of transactions not spawning storage engine (could benefit the new feature),
  • number of cross storage engine transactions (needed XA, but exclusing mysql.gtid_slave_pos*)
  • number of transactions not spawning storage engine that updated a mysql.gtid_slave_pos in another SE (because skip-gtid-auto-create-pos-table=1)
  • maybe more...
Many thanks,

Jean-François Gagné
System Engineer @ Booking.com