[MXS-2581] Support DO_DOMAIN_IDS and IGNORE_DOMAIN_IDS for the Binlog Router Created: 2019-06-27  Updated: 2020-08-25  Resolved: 2019-09-04

Status: Closed
Project: MariaDB MaxScale
Component/s: binlogrouter
Affects Version/s: 2.3.8
Fix Version/s: N/A

Type: New Feature Priority: Major
Reporter: Geoff Montee (Inactive) Assignee: Todd Stoffel (Inactive)
Resolution: Won't Do Votes: 0
Labels: None

Issue Links:
Blocks
blocks MXS-2580 Clarify requirements of binlog router... Closed
Relates
relates to MDEV-4989 Support for GTID in mysqlbinlog Closed
relates to MDEV-20119 Implement the --do-domain-ids, --igno... Closed
relates to MDEV-22905 Support DO_DOMAIN_IDS and IGNORE_DOMA... Closed
relates to MXS-2589 Adapt binlog router to Closed

 Description   

It looks like the Binlog Router does not currently support the DO_DOMAIN_IDS and IGNORE_DOMAIN_IDS options for CHANGE MASTER:

https://github.com/mariadb-corporation/MaxScale/blob/maxscale-2.3.8/server/modules/routing/binlogrouter/blr_slave.cc#L5318

These options would be especially useful when using Binlog Router with Galera Cluster and secondary masters. See MXS-2580 for more information.

The options are described here:

https://mariadb.com/kb/en/library/change-master-to/#do_domain_ids

https://mariadb.com/kb/en/library/change-master-to/#ignore_domain_ids



 Comments   
Comment by Todd Stoffel (Inactive) [ 2019-09-04 ]

This is already available using segments with Galera natively.

Comment by Richard Stracke [ 2019-09-04 ]

toddstoffel

segments on galera has only an effect for communicating between galera nodes.

The segment information will wether not saved in the binlog nor it can be used to separate transactions which will not part of a writeset (only binlog) from cluster transactions, which is needed for this usecase.

Comment by Todd Stoffel (Inactive) [ 2019-09-04 ]

Galera replication should handle this scenario. This is not possible with binlog router.

Comment by Geoff Montee (Inactive) [ 2019-09-04 ]

This is already available using segments with Galera natively.

Galera's segments are not related this feature request, and Galera's segments can not be used to implement what this feature request is asking for.

Galera replication should handle this scenario. This is not possible with binlog router.

Galera's replication can not handle this scenario. The whole point of this feature request is that each Galera Cluster node has two GTID domains: one for WSREP transactions, and one for non-WSREP transactions. This means that if you try to use Galera with Binlog Router, and if you try to use the router's secondary master feature to provide seamless failover for the Binlog Router, then this failover process has a high likelihood of failing if any non-WSREP transactions has been executed on the secondary master. This feature request is asking for a specific solution: Binlog Router could support DO_DOMAIN_ID/IGNORE_DOMAIN_ID, just like MariaDB Server does, so that the Binlog Router can be configured to only replicate the domain of the WSREP transactions.

However, regardless of this feature request for the Binlog Router, DO_DOMAIN_ID/IGNORE_DOMAIN_ID are only partially functional in MariaDB Server at the moment. See the conversation in MDEV-20438 about some ideas on how these options may be improved in the future.

It seems as though this feature request may have been closed without having a good understanding of what it is asking for. If you have any questions about it, please let me know.

Generated at Thu Feb 08 04:15:11 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.