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

slave_parallel_mode=optimistic should not report the mode's specific temporary errors

Details

    Description

      I have server mariadb-10.5.16 with slave_parallel_mode=optimistic and see errors in log:
      ```
      2024-01-24 8:00:46 57 [ERROR] mysqld: Can't find record in 'test'
      2024-01-24 10:40:55 56 [ERROR] mysqld: Can't find record in 'test'
      2024-01-24 11:24:48 56 [ERROR] mysqld: Can't find record in 'test'
      2024-01-24 14:44:33 55 [ERROR] mysqld: Can't find record in 'test'
      2024-01-24 15:11:35 58 [ERROR] mysqld: Can't find record in 'test'
      2024-01-24 15:11:51 57 [ERROR] mysqld: Can't find record in 'test'
      2024-01-24 15:11:51 57 [ERROR] mysqld: Can't find record in 'test'
      2024-01-24 15:33:25 57 [ERROR] mysqld: Can't find record in 'test'
      ```

      how to repeat:
      ```
      drop database if exists my_table_test;
      create database if not exists my_table_test;
      use my_table_test;
      drop table if exists test;
      create table test(a int, b varchar(123));
      insert into test values(1, 'asdf');
      update test set b='zxf1' where a=1;
      update test set b='\n' where a=1;
      ```

      Replication is not crash and still works.
      ```
      Slave_IO_State: Waiting for master to send event
      Master_Host: 127.0.0.1
      Master_User: liujia2
      Master_Port: 3633
      Connect_Retry: 60
      Master_Log_File: mysql-bin.000052
      Read_Master_Log_Pos: 219035686
      Relay_Log_File: mysql-develop-0001-relay-bin.000104
      Relay_Log_Pos: 168065139
      Relay_Master_Log_File: mysql-bin.000052
      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes
      Replicate_Do_DB:
      Replicate_Ignore_DB:
      Replicate_Do_Table:
      Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
      Replicate_Wild_Ignore_Table:
      Last_Errno: 0
      Last_Error:
      Skip_Counter: 0
      Exec_Master_Log_Pos: 219035209
      Relay_Log_Space: 570350217
      Until_Condition: None
      Until_Log_File:
      Until_Log_Pos: 0
      Master_SSL_Allowed: No
      Master_SSL_CA_File:
      Master_SSL_CA_Path:
      Master_SSL_Cert:
      Master_SSL_Cipher:
      Master_SSL_Key:
      Seconds_Behind_Master: 0
      Master_SSL_Verify_Server_Cert: No
      Last_IO_Errno: 0
      Last_IO_Error:
      Last_SQL_Errno: 0
      Last_SQL_Error:
      Replicate_Ignore_Server_Ids:
      Master_Server_Id: 1
      Master_SSL_Crl:
      Master_SSL_Crlpath:
      Using_Gtid: Slave_Pos
      Gtid_IO_Pos: 0-1-113030212
      Replicate_Do_Domain_Ids:
      Replicate_Ignore_Domain_Ids:
      Parallel_Mode: optimistic
      SQL_Delay: 0
      SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
      Slave_DDL_Groups: 8
      Slave_Non_Transactional_Groups: 2
      Slave_Transactional_Groups: 113030236
      ```

      Attachments

        Issue Links

          Activity

            liujia123 liujia created issue -
            liujia123 liujia made changes -
            Field Original Value New Value
            liujia123 liujia made changes -
            Description I have server mariadb-10.5.16 with slave_parallel_mode=optimistic and see errors in log:
            ```
            2024-01-24 8:00:46 57 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 10:40:55 56 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 11:24:48 56 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 14:44:33 55 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 15:11:35 58 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 15:11:51 57 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 15:11:51 57 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 15:33:25 57 [ERROR] mysqld: Can't find record in 'test'
            ```

            how to repeat:
            ```
            drop database if exists my_table_test;
            create database if not exists my_table_test;
            use my_table_test;
            drop table if exists test;
            create table test(a int, b varchar(123));
            insert into test values(1, 'asdf');
            update test set b='zxf1' where a=1;
            update test set b='\n' where a=1;
            ```

            Replication is not crash and still works.
            ```
                            Slave_IO_State: Waiting for master to send event
                               Master_Host: 127.0.0.1
                               Master_User: liujia2
                               Master_Port: 3633
                             Connect_Retry: 60
                           Master_Log_File: mysql-bin.000052
                       Read_Master_Log_Pos: 219035686
                            Relay_Log_File: mysql-develop-0001-relay-bin.000104
                             Relay_Log_Pos: 168065139
                     Relay_Master_Log_File: mysql-bin.000052
                          Slave_IO_Running: Yes
                         Slave_SQL_Running: Yes
                           Replicate_Do_DB:
                       Replicate_Ignore_DB:
                        Replicate_Do_Table:
                    Replicate_Ignore_Table:
                   Replicate_Wild_Do_Table:
               Replicate_Wild_Ignore_Table:
                                Last_Errno: 0
                                Last_Error:
                              Skip_Counter: 0
                       Exec_Master_Log_Pos: 219035209
                           Relay_Log_Space: 570350217
                           Until_Condition: None
                            Until_Log_File:
                             Until_Log_Pos: 0
                        Master_SSL_Allowed: No
                        Master_SSL_CA_File:
                        Master_SSL_CA_Path:
                           Master_SSL_Cert:
                         Master_SSL_Cipher:
                            Master_SSL_Key:
                     Seconds_Behind_Master: 0
             Master_SSL_Verify_Server_Cert: No
                             Last_IO_Errno: 0
                             Last_IO_Error:
                            Last_SQL_Errno: 0
                            Last_SQL_Error:
               Replicate_Ignore_Server_Ids:
                          Master_Server_Id: 1
                            Master_SSL_Crl:
                        Master_SSL_Crlpath:
                                Using_Gtid: Slave_Pos
                               Gtid_IO_Pos: 0-1-113030212
                   Replicate_Do_Domain_Ids:
               Replicate_Ignore_Domain_Ids:
                             Parallel_Mode: optimistic
                                 SQL_Delay: 0
                       SQL_Remaining_Delay: NULL
                   Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
                          Slave_DDL_Groups: 8
            Slave_Non_Transactional_Groups: 2
                Slave_Transactional_Groups: 113030236

            ```

            *I have server mariadb-10.5.16 with slave_parallel_mode=optimistic and see errors in log:*
            ```
            2024-01-24 8:00:46 57 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 10:40:55 56 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 11:24:48 56 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 14:44:33 55 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 15:11:35 58 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 15:11:51 57 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 15:11:51 57 [ERROR] mysqld: Can't find record in 'test'
            2024-01-24 15:33:25 57 [ERROR] mysqld: Can't find record in 'test'
            ```

            *how to repeat:*
            ```
            drop database if exists my_table_test;
            create database if not exists my_table_test;
            use my_table_test;
            drop table if exists test;
            create table test(a int, b varchar(123));
            insert into test values(1, 'asdf');
            update test set b='zxf1' where a=1;
            update test set b='\n' where a=1;
            ```

            *Replication is not crash and still works.*
            ```
                            Slave_IO_State: Waiting for master to send event
                               Master_Host: 127.0.0.1
                               Master_User: liujia2
                               Master_Port: 3633
                             Connect_Retry: 60
                           Master_Log_File: mysql-bin.000052
                       Read_Master_Log_Pos: 219035686
                            Relay_Log_File: mysql-develop-0001-relay-bin.000104
                             Relay_Log_Pos: 168065139
                     Relay_Master_Log_File: mysql-bin.000052
                          Slave_IO_Running: Yes
                         Slave_SQL_Running: Yes
                           Replicate_Do_DB:
                       Replicate_Ignore_DB:
                        Replicate_Do_Table:
                    Replicate_Ignore_Table:
                   Replicate_Wild_Do_Table:
               Replicate_Wild_Ignore_Table:
                                Last_Errno: 0
                                Last_Error:
                              Skip_Counter: 0
                       Exec_Master_Log_Pos: 219035209
                           Relay_Log_Space: 570350217
                           Until_Condition: None
                            Until_Log_File:
                             Until_Log_Pos: 0
                        Master_SSL_Allowed: No
                        Master_SSL_CA_File:
                        Master_SSL_CA_Path:
                           Master_SSL_Cert:
                         Master_SSL_Cipher:
                            Master_SSL_Key:
                     Seconds_Behind_Master: 0
             Master_SSL_Verify_Server_Cert: No
                             Last_IO_Errno: 0
                             Last_IO_Error:
                            Last_SQL_Errno: 0
                            Last_SQL_Error:
               Replicate_Ignore_Server_Ids:
                          Master_Server_Id: 1
                            Master_SSL_Crl:
                        Master_SSL_Crlpath:
                                Using_Gtid: Slave_Pos
                               Gtid_IO_Pos: 0-1-113030212
                   Replicate_Do_Domain_Ids:
               Replicate_Ignore_Domain_Ids:
                             Parallel_Mode: optimistic
                                 SQL_Delay: 0
                       SQL_Remaining_Delay: NULL
                   Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
                          Slave_DDL_Groups: 8
            Slave_Non_Transactional_Groups: 2
                Slave_Transactional_Groups: 113030236
            ```

            knielsen Kristian Nielsen made changes -
            Fix Version/s 10.5 [ 23123 ]
            knielsen Kristian Nielsen made changes -
            Status Open [ 1 ] Confirmed [ 10101 ]
            knielsen Kristian Nielsen made changes -
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            knielsen Kristian Nielsen made changes -
            Assignee Kristian Nielsen [ knielsen ]
            knielsen Kristian Nielsen made changes -
            Status Confirmed [ 10101 ] In Progress [ 3 ]
            knielsen Kristian Nielsen made changes -
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.4 [ 22408 ]
            knielsen Kristian Nielsen made changes -
            Assignee Kristian Nielsen [ knielsen ] Sergei Golubchik [ serg ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            knielsen Kristian Nielsen made changes -
            Assignee Sergei Golubchik [ serg ] Kristian Nielsen [ knielsen ]
            knielsen Kristian Nielsen made changes -
            Fix Version/s 10.6.18 [ 29627 ]
            Fix Version/s 10.6 [ 24028 ]
            Resolution Fixed [ 1 ]
            Status In Review [ 10002 ] Closed [ 6 ]
            julien.fritsch Julien Fritsch made changes -
            Fix Version/s 10.11.8 [ 29630 ]
            Fix Version/s 11.0.6 [ 29628 ]
            Fix Version/s 11.1.5 [ 29629 ]
            Fix Version/s 11.2.4 [ 29631 ]

            People

              knielsen Kristian Nielsen
              liujia123 liujia
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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