Skip to content

Feature Request: Support for MySQL option binlog_rows_query_log_events #19337

@ellayarmogray

Description

@ellayarmogray

Feature Description

Vitess does not currently support the MySQL option binlog_rows_query_log_events as shown in this config stanza. This setting enables MySQL to include the original SQL query for each binlog event. For example, MySQL binlogs include rows_query log events that look like this:

#260209 18:20:26 server id 123  end_log_pos 1431 ...         Rows_query
# insert into table(id, create_date, update_date, varchar) values (10, 1770661226, 1770661226, 'abc')

Ideally, Vitess would provide the same functionality above to support the MySQL option – including query logs in VStream when this setting is enabled.

Use Case(s)

Etsy currently uses the Debezium connector for MySQL to implement a change data capture system. We enable binlog_rows_query_log_events to include query logs in the binlog and make SQL statements available to Debezium as mentioned in the Debezium docs. We have written a custom SMT (single message transform) which extracts query comments from these query logs to pass information to downstream consumers. We currently only use the query comments from the SQL string, but future functionality may require the entire SQL query. The query comments we add are of the form "[key1=value1] [key2=value2]".

We are interested in migrating to Debezium's Vitess connector which provides support for resharding operations. However, Vitess does not support including these query logs in VStream so we are unable to replicate this functionality with the Vitess connector.

Metadata

Metadata

Assignees

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions