[MCOL-4836] DROP TABLE IF EXISTS `columnstore_files` /* generated by server */ on read-only slaves breaks replication. Created: 2021-08-12  Updated: 2022-09-22

Status: Open
Project: MariaDB ColumnStore
Component/s: None
Affects Version/s: 5.5.2
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Juan Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Environment:

RHEL



 Description   

On a replication topology that includes the Columnstore plugin, replication breaks at regular intervals unless the conventional setup (using the same domain id and different server ids for each server in the topology) turns off gtid_strict_mode (prob. not a good idea), or is configured with unique domain ids for each server.

Columnstore generates this binlog entry at some interval on replicas:

DROP TABLE IF EXISTS `columnstore_files` /* generated by server */

This causes out-of-order gtids on conventionally configured replicas with 'same domain id pluls gtid_strict_mode=ON' , leading to a replication error:

2021-08-03 11:40:44 26 [ERROR] Slave SQL: An attempt was made to binlog GTID 0-1-261 which would create an out-of-order sequence number with existing GTID 0-2-262, and gtid strict mode is enabled, Gtid 0-1-261, Internal MariaDB error code: 1950
2021-08-03 11:40:44 26 [Warning] Slave: An attempt was made to binlog GTID 0-1-261 which would create an out-of-order sequence number with existing GTID 0-2-262, and gtid strict mode is enabled Error_code: 1950

The generated call appears at regular intervals after what looks like batch loads. Discussing in the Columnstore channel Roman mentioned:

"This was intentional at the moment of creation of the routine b/c there was no async replication in the cluster at that time."

...so historically it makes sense. Would it be possible to either turn this off or not log it, to prevent the apparent write to read_only replicas?


Generated at Thu Feb 08 02:53:22 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.