Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-33586

Galera Connection Drop always on Saturday

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Critical
    • Resolution: Unresolved
    • 10.5.21
    • None
    • Galera, Galera SST
    • Debian 11.8

    Description

      We always got a galera connection drop on saturday near 00:00.
      At this time there are running always some optimization jobs for the databases.
      But why is the second mariadb server always dropping or closing the galera connection to the primary/first node (where all connections are going to from the haproxy)?

      Here is our central config for all mariadb servers:

      # MANAGED BY ANSIBLE, ALL CHANGES WILL BE OVERWRITTEN!
      #
      # These groups are read by MariaDB server.
      # Use it for options that only the server (but not clients) should see
      #
      # See the examples of server my.cnf files in /usr/share/mysql
       
      # this is read by the standalone daemon and embedded servers
      [server]
       
      # this is only for the mysqld standalone daemon
      [mysqld]
       
      #
      # * Basic Settings
      #
      user                    = mysql
      pid-file                = /run/mysqld/mysqld.pid
      socket                  = /run/mysqld/mysqld.sock
      port                    = 3306
      basedir                 = /usr
      datadir                 = /data/pr-be-mdb-galera02-02
      tmpdir                  = /tmp
      lc-messages-dir         = /usr/share/mysql
      #skip-external-locking
      skip-name-resolve
       
      # Instead of skip-networking the default is now to listen only on
      # localhost which is more compatible and is not less secure.
      bind-address            = 0.0.0.0
       
      #
      # * Fine Tuning
      #
      #key_buffer_size        = 16M
      max_allowed_packet     = 128M
      #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_options = BACKUP
      max_connections        = 1250
      #table_cache            = 64
      #thread_concurrency     = 10
       
      sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
      key_buffer_size = 256M
      table_open_cache = 8192
      table_definition_cache = 8192
      thread_cache_size = 32
      max_user_connections = 0
      tmp_table_size = 32M
      max_heap_table_size = 32M
      join_buffer_size = 2M
      sort_buffer_size = 2M
      read_rnd_buffer_size = 1M
       
      #
      # * Performance schema for better diagnostics
      #
      performance_schema = ON
       
      #
      # * Query Cache Configuration
      #
      query_cache_limit = 1M
      query_cache_size = 0
      query_cache_type = 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
      #
      # Enable the slow query log to see queries with especially long duration
      #slow_query_log_file    = /var/log/mysql/mariadb-slow.log
      #long_query_time        = 10
      #log_slow_rate_limit    = 1000
      #log_slow_verbosity     = query_plan
      #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
       
      expire_logs_days        = 10
      #max_binlog_size        = 100M
      #binlog_do_db           = include_database_name
      #binlog_ignore_db       = exclude_database_name
       
      #
      # * Security Features
      #
      # Read the manual, too, if you want chroot!
      #chroot = /var/lib/mysql/
      #
      # For generating SSL certificates you can use for example the GUI tool "tinyca".
      #
      #ssl-ca = /etc/mysql/cacert.pem
      #ssl-cert = /etc/mysql/server-cert.pem
      #ssl-key = /etc/mysql/server-key.pem
      #
      # Accept only connections using the latest and most secure TLS protocol version.
      # ..when MariaDB is compiled with OpenSSL:
      #ssl-cipher = TLSv1.2
      # ..when MariaDB is compiled with YaSSL (default in Debian):
      #ssl = on
       
      #
      # * Character sets
      #
      # MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
      # utf8 4-byte character set. See also client.cnf
      #
      character-set-server  = utf8mb4
      collation-server      = utf8mb4_general_ci
       
      #
      # * 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!
      innodb_buffer_pool_size      = 16G
      innodb_buffer_pool_instances = 16
      innodb_thread_concurrency    = 8
      innodb_log_file_size = 6G
      innodb_log_buffer_size = 16M
      innodb_flush_log_at_trx_commit = 0
      innodb_lock_wait_timeout = 300
      innodb_io_capacity = 4000
      innodb_io_capacity_max = 8000
      innodb_read_io_threads = 8
      innodb_write_io_threads = 8
       
      #
      # * Unix socket authentication plugin is built-in since 10.0.22-6
      #
      # Needed so the root database user can authenticate without a password but
      # only when running as the unix root user.
      #
      # Also available for other users if required.
      # See https://mariadb.com/kb/en/unix_socket-authentication-plugin/
       
      # this is only for embedded server
      [embedded]
       
      # This group is only read by MariaDB servers, not by MySQL.
      # If you use the same .cnf file for MySQL and MariaDB,
      # you can put MariaDB-only options here
      [mariadb]
       
      # This group is only read by MariaDB-10.3 servers.
      # If you use the same .cnf file for MariaDB of different versions,
      # use this group for options that older servers don't understand
      [mariadb-10.3]
      

      [mysqld]
      ####################################
      # mysql/mariadb settings
       
      binlog_format            = ROW
      default-storage-engine   = innodb
      innodb_autoinc_lock_mode = 2
      innodb_file_per_table    = on
      binlog-row-image         = minimal
       
      innodb_doublewrite       = 1
       
      ####################################
      # galera settings
       
      wsrep_on              = ON
      wsrep_provider        = /usr/lib/galera/libgalera_smm.so
      wsrep_cluster_name    = "sql-gc02"
      wsrep_cluster_address = "gcomm://10.49.65.120,10.49.65.121,10.49.65.122"
      wsrep_node_address    = "10.49.65.121"
      wsrep_node_name       = "pr-be-mdb-galera02-02"
      wsrep_sst_method      = "mariabackup"
      wsrep_sst_auth        = xxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxx
      ignore_db_dirs        = .snapshot
      wsrep_slave_threads   = 8
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            dcz01 Daniel Czadek
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.