OK Narrowed it down. Percona always crashes when running parrallel update queries on the same NON-EXISTING record. Steps to reproduce (on linux) below. Crashes Percona 100% of the tests. Even on 1 node, with or without the rest of the cluster. #create database mysql -u root -pMyPass -e "CREATE DATABASE crashtest" #create table t1 mysql -u root -pMyPass -D crashtest -e "CREATE TABLE t1 (id int(11) NOT NULL AUTO_INCREMENT, f1 varchar(50) NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8" #don't insert any records, leave the table empty (although it crashes also on tables containing records, doesn't really matter) #multiple consecutive updates: NO PROBLEM mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" #multiple simultaneous updates: CRASH mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & mysql -u root -pMyPass -D crashtest -e "update t1 set f1='test2' where id=1" & Our my.cnf used in this test. Running on 3 x 6-core 32GB dedicated servers, Ubuntu 12.04 LTS. This is the config file of node2, node1 and node3 are similar. # Generated by Percona Configuration Wizard (http://tools.percona.com/) version REL5-20120208 # Configuration name node3-1 generated for {{deleted}} at 2012-12-09 22:16:39 [mysql] # CLIENT # port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld] # GENERAL # user = mysql default_storage_engine = innodb socket = /var/run/mysqld/mysqld.sock pid_file = /var/run/mysqld/mysqld.pid # MyISAM # key_buffer_size = 32M myisam_recover = FORCE,BACKUP # SAFETY # max_allowed_packet = 1024M max_connect_errors = 1000000 sysdate_is_now = 1 innodb = FORCE innodb_strict_mode = 1 # DATA STORAGE # datadir = /disk/mysqldata/ # BINARY LOGGING # log_bin = /disk/mysqldata/mysql-bin expire_logs_days = 14 sync_binlog = 1 # CACHES AND LIMITS # tmp_table_size = 32M max_heap_table_size = 32M query_cache_type = 0 query_cache_size = 0 max_connections = 500 thread_cache_size = 50 open_files_limit = 65535 table_definition_cache = 4096 table_open_cache = 10240 # INNODB # innodb_flush_method = O_DIRECT innodb_log_files_in_group = 2 innodb_log_file_size = 512M innodb_flush_log_at_trx_commit = 1 innodb_file_per_table = 1 innodb_buffer_pool_size = 26G # LOGGING # log_error = /disk/mysqldata/mysql-error.log log_queries_not_using_indexes = 0 slow_query_log = 0 slow_query_log_file = /var/lib/mysql/data/mysql-slow.log server_id=2 wsrep_cluster_address="gcomm://node1,node3" wsrep_provider=/usr/lib/libgalera_smm.so wsrep_provider_options = "gmcast.listen_addr=tcp://node2; sst.recv_addr=node2; evs.keepalive_period = PT3S; evs.inactive_check_period = PT10S; evs.suspect_timeout = PT30S; evs.inactive_timeout = PT1M; evs.install_timeout = PT1M" wsrep_slave_threads=2 wsrep_cluster_name={{deleted}} wsrep_sst_method=xtrabackup wsrep_sst_auth=root:{{deleted}} wsrep_node_name=node2 wsrep_node_incoming_address="node2:4567" wsrep_node_address="node2" innodb_locks_unsafe_for_binlog=1 innodb_autoinc_lock_mode=2