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
mysqld: segfault at 51 ip 00007efd5cf0b688 sp 00007efd3024fb90 error 4 in libgcc_s.so.1[7efd5cefc000+16000]
mysqld: segfault at 51 ip 00007f68ed54c688 sp 00007f65df888b90 error 4 in libgcc_s.so.1[7f68ed53d000+16000] mysqld: segfault at 51 ip 00007fbc9ca82688 sp 00007fbc70089b90 error 4 in libgcc_s.so.1[7fbc9ca73000+16000]
mysqld: 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
# # 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/