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

WSREP: MDL BF-BF conflict

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Critical
    • Resolution: Unresolved
    • 10.5.21
    • 10.5
    • Galera
    • Debian 11.8 x64

    Description

      Sometimes we got an error on the second MariaDB-Galera-Node which get dropped then from the cluster with an MDL BF-BF conflict.
      What could that be?

      2024-04-10  8:02:54 10 [Note] WSREP: Server server2 synced with group
      2024-04-12 10:14:11 860965 [Note] WSREP: Desyncing and pausing the provider
      2024-04-12 10:14:11 0 [Note] WSREP: Member 1.0 (server2) desyncs itself from group
      2024-04-12 10:14:11 0 [Note] WSREP: Shifting SYNCED -> DONOR/DESYNCED (TO: 449986329)
      2024-04-12 10:14:11 860965 [Note] WSREP: pause
      2024-04-12 10:14:11 860965 [Note] WSREP: Provider paused at 2b276be9-b04a-11ee-9634-0ffee8933331:449986329 (205127771)
      2024-04-12 10:14:11 860965 [Note] WSREP: Provider paused at: 449986329
      2024-04-12 10:14:28 860965 [Note] WSREP: Resuming and resyncing the provider
      2024-04-12 10:14:28 860965 [Note] WSREP: resume
      2024-04-12 10:14:28 860965 [Note] WSREP: resuming provider at 205127771
      2024-04-12 10:14:28 860965 [Note] WSREP: Provider resumed.
      2024-04-12 10:14:28 0 [Note] WSREP: Member 1.0 (server2) resyncs itself to group.
      2024-04-12 10:14:28 0 [Note] WSREP: Shifting DONOR/DESYNCED -> JOINED (TO: 449987886)
      2024-04-12 10:14:28 0 [Note] WSREP: Processing event queue:...  0.0% (   0/1549 events) complete.
      2024-04-12 10:14:29 0 [Note] WSREP: Member 1.0 (server2) synced with group.
      2024-04-12 10:14:29 0 [Note] WSREP: Processing event queue:...100.0% (1641/1641 events) complete.
      2024-04-12 10:14:29 0 [Note] WSREP: Shifting JOINED -> SYNCED (TO: 449987963)
      2024-04-12 10:14:29 7 [Note] WSREP: Server server2 synced with group
      2024-04-13  0:23:56 7 [Note] WSREP: MDL BF-BF conflict
      schema:  xxxxxxxxxxxxx
      request: (7 	seqno 455199246 	wsrep (toi, exec, committed) cmd 0 45 	OPTIMIZE TABLE exportdb_sqls)
      granted: (2 	seqno 455199247 	wsrep (high priority, exec, committing) cmd 0 161 	(null))
      2024-04-13  0:23:56 7 [ERROR] Aborting
      

      2024-04-13  0:23:57 0 [Note] WSREP: Deferred close timer started for socket with remote endpoint: tcp://server2:57538
      2024-04-13  0:23:57 0 [Note] WSREP: forgetting d6a7f0d5-a6b5 (tcp://server2:4567)
      2024-04-13  0:23:57 0 [Note] WSREP: Node 8e8022d1-9aaa state prim
      2024-04-13  0:23:57 0 [Note] WSREP: view(view_id(PRIM,8e8022d1-9aaa,29) memb {
              8e8022d1-9aaa,0
      } joined {
      } left {
      } partitioned {
              d6a7f0d5-a6b5,0
      })
      2024-04-13  0:23:57 0 [Note] WSREP: save pc into disk
      2024-04-13  0:23:57 0 [Note] WSREP: forgetting d6a7f0d5-a6b5 (tcp://server2:4567)
      2024-04-13  0:23:57 0 [Note] WSREP: New COMPONENT: primary = yes, bootstrap = no, my_idx = 0, memb_num = 1
      2024-04-13  0:23:57 0 [Note] WSREP: STATE_EXCHANGE: sent state UUID: 5a650c2e-f91b-11ee-9241-5eaa8b49759e
      2024-04-13  0:23:57 0 [Note] WSREP: STATE EXCHANGE: sent state msg: 5a650c2e-f91b-11ee-9241-5eaa8b49759e
      2024-04-13  0:23:57 0 [Note] WSREP: STATE EXCHANGE: got state msg: 5a650c2e-f91b-11ee-9241-5eaa8b49759e from 0 (server1)
      2024-04-13  0:23:57 0 [Note] WSREP: Quorum results:
              version    = 6,
              component  = PRIMARY,
              conf_id    = 28,
              members    = 1/1 (joined/total),
              act_id     = 455199278,
              last_appl. = 455199146,
              protocols  = 2/10/4 (gcs/repl/appl),
              vote policy= 0,
              group UUID = 2b276be9-b04a-11ee-9634-0ffee8933331
      2024-04-13  0:23:57 0 [Note] WSREP: Flow-control interval: [16, 16]
      2024-04-13  0:23:57 6 [Note] WSREP: ####### processing CC 455199279, local, ordered
      2024-04-13  0:23:57 0 [Note] WSREP: Deferred close timer handle_wait Operation aborted. for 0x5626dfa643f0
      2024-04-13  0:23:57 6 [Note] WSREP: ####### My UUID: 8e8022d1-c97c-11ee-9aaa-c66638f704cf
      2024-04-13  0:23:57 6 [Note] WSREP: Skipping cert index reset
      2024-04-13  0:23:57 0 [Note] WSREP: Deferred close timer destruct
      2024-04-13  0:23:57 6 [Note] WSREP: REPL Protocols: 10 (5)
      2024-04-13  0:23:57 6 [Note] WSREP: ####### Adjusting cert position: 455199278 -> 455199279
      2024-04-13  0:23:57 0 [Note] WSREP: Service thread queue flushed.
      2024-04-13  0:23:57 6 [Note] WSREP: ================================================
      View:
        id: 2b276be9-b04a-11ee-9634-0ffee8933331:455199279
        status: primary
        protocol_version: 4
        capabilities: MULTI-MASTER, CERTIFICATION, PARALLEL_APPLYING, REPLAY, ISOLATION, PAUSE, CAUSAL_READ, INCREMENTAL_WS, UNORDERED, PREORDERED, STREAMING, NBO
        final: no
        own_index: 0
        members(1):
              0: 8e8022d1-c97c-11ee-9aaa-c66638f704cf, server1
      =================================================
      2024-04-13  0:23:57 6 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
      2024-04-13  0:23:57 6 [Note] WSREP: Lowest cert index boundary for CC from group: 455199147
      2024-04-13  0:23:57 6 [Note] WSREP: Min available from gcache for CC from group: 455084811
      2024-04-13  0:24:02 0 [Note] WSREP:  cleaning up d6a7f0d5-a6b5 (tcp://server2:4567)
      

      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/server2
      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    = "xxxxxxxxx"
      wsrep_cluster_address = "gcomm://server1,server2"
      wsrep_node_address    = "server2"
      wsrep_node_name       = "server2"
      wsrep_sst_method      = "mariabackup"
      wsrep_sst_auth        = xxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxx
      ignore_db_dirs        = .snapshot
      wsrep_slave_threads   = 8
      

      Attachments

        Issue Links

          Activity

            People

              janlindstrom Jan Lindström
              dcz01 Daniel Czadek
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.