Hello Technicians
I have a Percona XtraDB Cluster 5.6 running on 3 virtual machines which run on 3 dedicated servers (along with a few other virtual machines ). But we are experiencing some “Random” issues with it.
It has been running for about 2.5 months now, but since the last update we have noticed this.
Running version : mysqld Ver 5.6.25-73.1-56 for debian-linux-gnu on x86_64 (Percona XtraDB Cluster (GPL), Release rel73.1, Revision 011f1e6, WSREP version 25.12, wsrep_25.12).
Installed from percona repository.
ii percona-xtrabackup 2.2.12-1.jessie amd64 Open source backup tool for InnoDB and XtraDB
ii percona-xtradb-cluster-5.6-dbg 5.6.25-25.12-1.jessie amd64 Debugging package for Percona XtraDB Cluster
ii percona-xtradb-cluster-client-5.6 5.6.25-25.12-1.jessie amd64 Percona XtraDB Cluster database client binaries
ii percona-xtradb-cluster-common-5.6 5.6.25-25.12-1.jessie amd64 Percona XtraDB Cluster database common files (e.g. /etc/mysql/my.cnf)
ii percona-xtradb-cluster-full-56 5.6.25-25.12-1.jessie amd64 Percona XtraDB Cluster with Galera
ii percona-xtradb-cluster-galera-3 3.12.1.jessie amd64 Metapackage for latest version of galera3.
ii percona-xtradb-cluster-galera-3.x 3.12.1.jessie amd64 Galera components of Percona XtraDB Cluster
ii percona-xtradb-cluster-galera-3.x-dbg 3.12.1.jessie amd64 Debugging package for Percona XtraDB Cluster Galera 3.
ii percona-xtradb-cluster-galera3-dbg 3.12.1.jessie amd64 Metapackage for latest version of debug packages.
ii percona-xtradb-cluster-garbd-3 3.12.1.jessie amd64 Metapackage for latest version of garbd3.
ii percona-xtradb-cluster-garbd-3.x 3.12.1.jessie amd64 Garbd components of Percona XtraDB Cluster
ii percona-xtradb-cluster-garbd-3.x-dbg 3.12.1.jessie amd64 Debugging package for Percona XtraDB Cluster Garbd 3.
ii percona-xtradb-cluster-server-5.6 5.6.25-25.12-1.jessie amd64 Percona XtraDB Cluster database server binaries
ii percona-xtradb-cluster-server-debug-5.6 5.6.25-25.12-1.jessie amd64 Percona XtraDB Cluster database server UNIV_DEBUG binaries
ii percona-xtradb-cluster-test-5.6 5.6.25-25.12-1.jessie amd64 Percona XtraDB Cluster database test suite
Debian version: Debian GNU/Linux 8 (jessie) / Linux db03 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
When some of our cronjob run, sometimes, one of the mysqld instances die with a segfault, without stacktrace in the mysql/error.log. But the segfault do have some overlap.
Machines all have 16GB ram and 8 Cores
[dmesg]
DB1:
mysqld[109929]: segfault at 51 ip 00007efd5cf0b688 sp 00007efd3024fb90 error 4 in libgcc_s.so.1[7efd5cefc000+16000]
DB2:
mysqld[105281]: segfault at 51 ip 00007f68ed54c688 sp 00007f65df888b90 error 4 in libgcc_s.so.1[7f68ed53d000+16000]
mysqld[126427]: segfault at 51 ip 00007fbc9ca82688 sp 00007fbc70089b90 error 4 in libgcc_s.so.1[7fbc9ca73000+16000]
DB3:
mysqld[93067]: segfault at 51 ip 00007f693fe18688 sp 00007f66312f2b90 error 4 in libgcc_s.so.1[7f693fe09000+16000]
I’ve turned on Core dumping on the DB2, but it has not crashed yet …
This is the last error from db03
2015-10-06 14:56:41 45455 [Note] WSREP: Member 2.0 (db02) synced with group.
09:02:07 UTC - mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
Please help us make Percona XtraDB Cluster better by reporting any
bugs at https://bugs.launchpad.net/percona-xtradb-cluster
key_buffer_size=536870912
read_buffer_size=131072
max_used_connections=56
max_threads=202
thread_count=3
connection_count=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 604732 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x15f9ab0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
Segmentation fault
151012 11:02:09 mysqld_safe Number of processes running now: 0
151012 11:02:09 mysqld_safe WSREP: not restarting wsrep node automatically
151012 11:02:09 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
151012 11:12:58 mysqld_safe Starting mysqld daemon with databases from /srv
my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /srv
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
skip_name_resolve
##GALERA CLUSTER###
# Path to Galera library
wsrep_provider=/usr/lib/libgalera_smm.so
# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://192.168.200.11,192.168.200.21,192.168.200.31
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
#barracuda for compressed tables
innodb_file_format=Barracuda
#file per table mandatory with baracuda
innodb_file_per_table
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node #1 address
wsrep_node_address=192.168.200.31
# SST method
wsrep_sst_method=xtrabackup-v2
# Cluster name
wsrep_cluster_name=scomcluster
# Authentication for SST method
wsrep_sst_auth="hidden;-)"
#replicate myisam
wsrep_replicate_myisam=1
#required for clustering
log_slave_updates=1
#larger tmp tables in memory, we have enough
max_heap_table_size=128M;
tmp_table_size=128M;
#open tables;
#table_cache=2048
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size = 512M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
max_connections = 200
#table_cache = 64
thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_type = 0
query_cache_limit = 1M
query_cache_size = 0
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log_file = /var/log/mysql/mysql-slow.log
#slow_query_log = 1
#long_query_time = 2
#log_queries_not_using_indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
innodb_buffer_pool_size = 10G
innodb_log_file_size=512M
#innodb_open_files_limit=256
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 256M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/