While support for MyISAM is experimental/not fully supported - I thought I'd still report some bugs - maybe for documentating limitations for this support?
I have an async master running 5.5.30-30.1 and a 2 node cluster running 5.5.30-23.7.4 (does not seem to work with 5.5.29 neither) with these configuration:
UPDATE data_bkt_m SET count=31 WHERE interval_start='2013-04-22 00:00:00' AND creative_id=22 AND zone_id=1 AND count=30;
Neither of the updates from these 2 are being replicated properly, looks like coming from async replication stream the async slave PXC node cannot handle these events properly.
While support for MyISAM is experimental/not fully supported - I thought I'd still report some bugs - maybe for documentating limitations for this support?
I have an async master running 5.5.30-30.1 and a 2 node cluster running 5.5.30-23.7.4 (does not seem to work with 5.5.29 neither) with these configuration:
# Async master: storage- engine= INNODB
log-bin=mysql-bin
log_slave_updates
server-id=99
binlog_format = ROW
default-
#PXC node 1, async slave: data_file_ path = ibdata1: 10M:autoextend log_group_ home_dir = /var/lib/mysql buffer_ pool_size = 512M additional_ mem_pool_ size = 2M log_file_ size = 512M log_buffer_ size = 2M flush_log_ at_trx_ commit = 2 lock_wait_ timeout = 50 fast_shutdown = 1 autoinc_ lock_mode = 2 locks_unsafe_ for_binlog = 1 incoming_ address = 192.168.56.53 libgalera_ smm.so options = "ist.recv_ addr=192. 168.56. 53:4568; gmcast. listen_ addr=tcp: //192.168. 56.53:4567; " receive_ address = 192.168.56.53 address = gcomm:// _myisam = 1 increment_ control = 0
binlog_format = ROW
sync_binlog = 0
binlog_cache_size = 1M
server_id = 100
log_slave_updates = 1
innodb_file_format = barracuda
innodb_strict_mode = 1
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_flush_method = O_DIRECT
innodb_
innodb_
innodb_doublewrite = 1
wsrep_node_name = uxdbc01
wsrep_cluster_name = uxdbc
wsrep_debug = 1
wsrep_node_address = 192.168.56.53
wsrep_node_
wsrep_provider = /usr/lib/
wsrep_provider_
wsrep_slave_threads = 2
wsrep_sst_method = xtrabackup
wsrep_sst_
wsrep_cluster_
wsrep_replicate
wsrep_auto_
wsrep_certify_nonPK = 1
# PXC node 2
binlog_format = ROW
sync_binlog = 0
binlog_cache_size = 1M
server_id = 100
log_slave_updates = 1
innodb_file_format = barracuda data_file_ path = ibdata1: 10M:autoextend log_group_ home_dir = /var/lib/mysql buffer_ pool_size = 512M additional_ mem_pool_ size = 2M log_file_ size = 256M log_buffer_ size = 2M flush_log_ at_trx_ commit = 2 lock_wait_ timeout = 50 fast_shutdown = 1 autoinc_ lock_mode = 2 locks_unsafe_ for_binlog = 1
innodb_strict_mode = 1
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_
innodb_flush_method = O_DIRECT
innodb_
innodb_
innodb_doublewrite = 1
wsrep_node_name = uxdbc02 incoming_ address = 192.168.56.54 libgalera_ smm.so options = "ist.recv_ addr=192. 168.56. 54:4568; gmcast. listen_ addr=tcp: //192.168. 56.54:4567; " receive_ address = 192.168.56.54 address = gcomm:/ /192.168. 56.53 _myisam = 1 increment_ control = 0
wsrep_cluster_name = uxdbc
wsrep_debug = 1
wsrep_node_address = 192.168.56.54
wsrep_node_
wsrep_provider = /usr/lib/
wsrep_provider_
wsrep_slave_threads = 2
wsrep_sst_method = xtrabackup
wsrep_sst_
wsrep_cluster_
wsrep_replicate
wsrep_auto_
wsrep_certify_nonPK = 1
To repeat, consider these 2 MyISAM tables, and one row data (from OpenX). Create an async master and build the PXC nodes from these data.
CREATE TABLE `data_bkt_m` ( start`, `creative_ id`,`zone_ id`)
`interval_start` datetime NOT NULL,
`creative_id` mediumint(9) NOT NULL,
`zone_id` mediumint(9) NOT NULL,
`count` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`interval_
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `audit` ( account_ id` mediumint(9) DEFAULT NULL, account_ id` mediumint(9) DEFAULT NULL, parentid_ contextid` (`parentid` ,`contextid` ), context_ actionid` (`context` ,`actionid` ), advertiser_ account_ id` (`advertiser_ account_ id`), website_ account_ id` (`website_ account_ id`)
`auditid` mediumint(9) NOT NULL AUTO_INCREMENT,
`actionid` mediumint(9) NOT NULL,
`context` varchar(255) NOT NULL DEFAULT '',
`contextid` mediumint(9) DEFAULT NULL,
`parentid` mediumint(9) DEFAULT NULL,
`details` text NOT NULL,
`userid` mediumint(9) NOT NULL DEFAULT '0',
`username` varchar(64) DEFAULT NULL,
`usertype` tinyint(4) NOT NULL DEFAULT '0',
`updated` datetime DEFAULT NULL,
`account_id` mediumint(9) NOT NULL,
`advertiser_
`website_
PRIMARY KEY (`auditid`),
KEY `audit_
KEY `audit_updated` (`updated`),
KEY `audit_usertype` (`usertype`),
KEY `audit_username` (`username`),
KEY `audit_
KEY `audit_account_id` (`account_id`),
KEY `audit_
KEY `audit_
) ENGINE=MyISAM;
INSERT INTO data_bkt_ m(interval_ start, creative_id, zone_id, count) VALUES('2013-04-22 00:00:00', 22, 1, 30);
Then execute these 2 DMLs from the async node:
INSERT INTO ads_stl_ webs2_com. audit (auditid, actionid,context, contextid, parentid, details, userid, username, usertype, updated, account_id, advertiser_ account_ id, website_account_id) 14:"reportlastd ate";a: 2:{s:3: "was";s: 10:"2013- 04-21"; s:2:"is" ;s:10:" 2013-04- 22";}s: 8:"key_ desc";N; }', 0, NULL, 0, '2013-04-22 04:05:11', 2, 3, NULL) ;
VALUES (2053, 2, 'clients', 1, NULL, 'a:2:{s:
UPDATE data_bkt_m SET count=31 WHERE interval_ start=' 2013-04- 22 00:00:00' AND creative_id=22 AND zone_id=1 AND count=30;
Neither of the updates from these 2 are being replicated properly, looks like coming from async replication stream the async slave PXC node cannot handle these events properly.