Luca Occhipinti
03/23/2026, 12:39 PMLeonard Xu
03/24/2026, 6:24 AMshow binary logs which we need to remove it firstly.
Could you open a JIRA ticket for this requirement?Luca Occhipinti
03/24/2026, 11:07 AMsource:
type: mysql
name: MySQL Source
hostname: writer-instance-endpoint
reader_hostname: reader-instance-endpoint
port: 3306
username: admin
password: pass
tables: adb.\.*, bdb.user_table_[0-9]+, [app|web].order_\.*
server-id: 5401-5404
Adding a reader_hostname (optional)
When this parameter is present it should run the snapshots against this hostname and for streaming using keep using the writer default one.
Of course for backward compatibility if not preset everything keeps as it is.
What do you think about this approach?Leonard Xu
03/25/2026, 2:43 AMmaster-position-1) at the moment each snapshot chunk (split by primary key, like id belongs to [200, 399]) finishes scanning. When switching to changelog reading, for primary keys belonging to that chunk’s range, it only consumes changelog events after master-position-1, thereby guaranteeing exactly-once delivery. This mechanism requires that both the historical snapshot scan and the recorded binlog position originate from the same MySQL instance—otherwise, binlog positions across instances may not be consistent or comparable.
If at-least-once semantics is acceptable, your proposed architecture becomes much more feasible: we can first record the current binlog position on the master instance (master-position-2), then perform the full-table snapshot scan on the read-only replica, and finally start consuming changelog events from the master instance starting from master-position-2. This approach relaxes the strict consistency requirement between snapshot and binlog positions, trading off potential duplicates for improved scalability and reduced primary load.Luca Occhipinti
03/25/2026, 2:33 PMLeonard Xu
03/26/2026, 7:41 AMLuca Occhipinti
03/31/2026, 8:21 PM