Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.5.13
-
None
-
None
-
FreeBSD 13.0-RELEASE-p4 + MariaDB 10.5.13 + Galera 26-26.4.9
Description
Unable to create a cluster of three nodes on FreeBSD 13.0-RELEASE-p4 + MariaDB 10.5.13 + Galera 26-26.4.9.
It fails at startup creating 4 processes at boot time (only 2 when using the service commad). Althought the processes exist the 'service mysql-server status' command states the mysql daemon isn't running.
Current configuration in /etc/rc.conf
mysql_enable="YES"
mysql_args="--wsrep-new-cluster"
mysql_optfile="/usr/local/etc/mysql/my.cnf"
Current configuration in /usr/local/etc/mysql/my.cnf
[albert@Cluster1 ~]$ cat /usr/local/etc/mysql/my.cnf
#
- This group is read both by the client and the server
- use it for options that affect everything, see
- https://mariadb.com/kb/en/configuring-mariadb-with-option-files/#option-groups
#
[client-server]
port = 3306
socket = /var/run/mysql/mysql.sock
#
- include *.cnf from the config directory
#
!includedir /usr/local/etc/mysql/conf.d/
[albert@Cluster1 ~]$
Current configuration of the /usr/local/etc/mysql/conf.d/wsrep.cnf file
[albert@Cluster1 /usr/local/etc/mysql/conf.d]$ cat wsrep.cnf
- This file contains wsrep-related mysqld options. It should be included
- in the main MySQL configuration file.
# - Options that need to be customized:
- - wsrep_provider
- - wsrep_cluster_address
- - wsrep_sst_auth
- The rest of defaults should work out of the box.
##
-
- mysqld options MANDATORY for correct opration of the cluster
##
[mysqld]
- mysqld options MANDATORY for correct opration of the cluster
- (This must be substituted by wsrep_format)
binlog_format=ROW
- Currently only InnoDB storage engine is supported
default-storage-engine=innodb
- to avoid issues with 'bulk mode inserts' using autoinc
innodb_autoinc_lock_mode=2
- Override bind-address
- In some systems bind-address defaults to 127.0.0.1, and with mysqldump SST
- it will have (most likely) disastrous consequences on donor node
bind-address=0.0.0.0
##
-
- WSREP options
##
- WSREP options
- Enable wsrep
wsrep_on=1
- Full path to wsrep provider library or 'none'
wsrep_provider=/usr/local/lib/libgalera_smm.so
- Provider specific configuration options
#wsrep_provider_options=
- Logical cluster name. Should be the same for all nodes.
wsrep_cluster_name="test_cluster"
- Group communication system handle
wsrep_cluster_address="gcomm://192.168.1.73,192.168.1.79,192.168.1.80"
- Human-readable node name (non-unique). Hostname by default.
wsrep_node_name=Cluster1
- Base replication <address|hostname>[:port] of the node.
- The values supplied will be used as defaults for state transfer receiving,
- listening ports and so on. Default: address of the first network interface.
wsrep_node_address=192.168.1.73
- Address for incoming client connections. Autodetect by default.
#wsrep_node_incoming_address=
- How many threads will process writesets from other nodes
wsrep_slave_threads=1
- DBUG options for wsrep provider
#wsrep_dbug_option
- Generate fake primary keys for non-PK tables (required for multi-master
- and parallel applying operation)
wsrep_certify_nonPK=1
- Maximum number of rows in write set
wsrep_max_ws_rows=0
- Maximum size of write set
wsrep_max_ws_size=2147483647
- to enable debug level logging, set this to 1
wsrep_debug=0
- convert locking sessions into transactions
wsrep_convert_LOCK_to_trx=0
- how many times to retry deadlocked autocommits
wsrep_retry_autocommit=1
- change auto_increment_increment and auto_increment_offset automatically
wsrep_auto_increment_control=1
- retry autoinc insert, which failed for duplicate key error
wsrep_drupal_282555_workaround=0
- enable "strictly synchronous" semantics for read operations
wsrep_causal_reads=0
- Command to call when node status or cluster membership changes.
- Will be passed all or some of the following options:
- --status - new status of this node
- --uuid - UUID of the cluster
- --primary - whether the component is primary or not ("yes"/"no")
- --members - comma-separated list of members
- --index - index of this node in the list
wsrep_notify_cmd=
##
-
- WSREP State Transfer options
##
- WSREP State Transfer options
- State Snapshot Transfer method
wsrep_sst_method=rsync
- Address which donor should send State Snapshot to.
- Should be the address of THIS node. DON'T SET IT TO DONOR ADDRESS!!!
- (SST method dependent. Defaults to the first IP of the first interface)
#wsrep_sst_receive_address=
- SST authentication string. This will be used to send SST to joining nodes.
- Depends on SST method. For mysqldump method it is root:<root password>
wsrep_sst_auth=root:
- Desired SST donor name.
#wsrep_sst_donor=
- Reject client queries when donating SST (false)
#wsrep_sst_donor_rejects_queries=0
- Protocol version to use
- wsrep_protocol_version=
[albert@Cluster1 /usr/local/etc/mysql/conf.d]$
Error clues in log messages (full log attached)
2021-12-07 0:15:57 0 [ERROR] WSREP: exception from gcomm, backend must be restarted: failed to set FD_CLOEXEC: 9 (Bad file descriptor)
at /wrkdirs/usr/ports/databases/galera26/work/galera-release_26.4.9/galerautils/src/gu_asio_socket_util.hpp:set_fd_options():41
2021-12-07 0:15:57 0 [Note] WSREP: gcomm: terminating thread
2021-12-07 0:15:57 0 [Note] WSREP: gcomm: joining thread
2021-12-07 0:15:57 0 [Note] WSREP: gcomm: closing backend
2021-12-07 0:15:57 0 [Note] WSREP: Forced PC close
2021-12-07 0:15:57 0 [Note] WSREP: gcomm: closed
2021-12-07 0:15:57 0 [ERROR] WSREP: Failed to connect to cluster: GCommConn::get_mtu(): backend connection not open (FATAL)
at /wrkdirs/usr/ports/databases/galera26/work/galera-release_26.4.9/gcs/src/gcs_gcomm.cpp:get_mtu():221
2021-12-07 0:15:57 0 [ERROR] WSREP: wsrep::connect(gcomm://192.168.1.73,192.168.1.79,192.168.1.80) failed: 7
2021-12-07 0:15:57 0 [ERROR] Aborting
This is just a user speaking without debugging abilities. If guidance is available hands can be offered.
A bug in FreeBSD's bug tracker already opened BUT there's no maintainer for the specific port.
Attachments
Issue Links
- relates to
-
MDEV-34618 galera.galera_wsrep_new_cluster fails to join cluster - failed to set FD_CLOEXEC: 9 (Bad file descriptor)
- Open