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

Online ALTER TABLE ends with 1032 (Can't find record) under some isolation levels

    XMLWordPrintable

Details

    Description

      origin/11.3, 11.3 8ad1e26b1bafa4ed9928306efc10c047f2274108 2023-09-04T09:36:44+04:00
      origin/bb-11.3-MDEV-28699 d2947464c841d0a989098010e04bfda7dcf7df58 2023-09-04T21:41:01+05:30 (rr traces)
      Per Marko and Thiru:
      The problems are most probably caused by MDEV-16329.
       
      Scenario:
      1. Start the server and generate some initial data.
      2. Several session run concurrent some DDL/DML mix
          Sometimes this kind of test fails with
           ALTER TABLE t3 MODIFY COLUMN col2 INT NOT NULL, LOCK = DEFAULT  /* E_R Thread2 QNO 2894 CON_ID 15 */  failed: 1032 , errstr: Can't find record in 't3'
           pluto:/data/results/1693844534/TBR-403--TBR-403D_1$ _RR_TRACE_DIR=./1/rr/ rr replay --mark-stdio
          or
          ALTER TABLE t1 DROP PRIMARY KEY, ALGORITHM = DEFAULT, LOCK = DEFAULT  /* E_R Thread16 QNO 59 CON_ID 28 */  failed: 1032 , errstr: Can't find record in 't1'
          pluto:/data/results/1693844534/TBR-403--TBR-403F--TBR-403D_better$ _RR_TRACE_DIR=./1/rr/ rr replay --mark-stdio
       
      One of the various test setups which showed the trouble
      # git clone https://github.com/mleich1/rqg --branch <pick the right branch> RQG
      #
      # GIT_SHOW: HEAD -> master, origin/master, origin/HEAD d5889a108c00974367f47657cabe4804fe7df566 2023-09-04T13:53:19+02:00
      # rqg.pl  : Version 4.4.0 (2023-08)
      #
      # $RQG_HOME/rqg.pl \
      # --grammar=conf/mariadb/table_stress_innodb.yy \
      # --gendata=conf/mariadb/table_stress.zz \
      # --gendata_sql=conf/mariadb/table_stress.sql \
      # --mysqld=--transaction-isolation=SERIALIZABLE \
      # --validator=SelectStability \
      # --redefine=conf/mariadb/redefine_innodb_truncate_temporary_tablespace_flipper.yy \    <==  not required
      # --redefine=conf/mariadb/redefine_temporary_tables.yy \                                                               <==  not required
      # --rounds=2 \                                                                                                                                                      <==  not required
      # --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \
      # --mysqld=--loose-idle_write_transaction_timeout=0 \
      # --mysqld=--loose-idle_transaction_timeout=0 \
      # --mysqld=--loose-idle_readonly_transaction_timeout=0 \
      # --mysqld=--connect_timeout=60 \
      # --mysqld=--interactive_timeout=28800 \
      # --mysqld=--slave_net_timeout=60 \
      # --mysqld=--net_read_timeout=30 \
      # --mysqld=--net_write_timeout=60 \
      # --mysqld=--loose-table_lock_wait_timeout=50 \
      # --mysqld=--wait_timeout=28800 \
      # --no_mask \
      # --queries=10000000 \
      # --seed=random \
      # --reporters=None \
      # --reporters=ErrorLog \
      # --reporters=Deadlock \
      # --validators=None \
      # --mysqld=--log_output=none \
      # --mysqld=--log_bin_trust_function_creators=1 \
      # --mysqld=--loose-debug_assert_on_not_freed_memory=0 \
      # --engine=InnoDB \
      # --restart_timeout=240 \
      # --mysqld=--plugin-load-add=file_key_management.so \
      # --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \
      # --mysqld=--plugin-load-add=provider_lzo.so \
      # --mysqld=--plugin-load-add=provider_bzip2.so \
      # --mysqld=--plugin-load-add=provider_lzma.so \
      # --mysqld=--plugin-load-add=provider_snappy.so \
      # --mysqld=--plugin-load-add=provider_lz4.so \
      # --mysqld=--loose-innodb_compression_level=1 \
      # --duration=300 \
      # --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
      # --mysqld=--lock-wait-timeout=86400 \
      # --mysqld=--innodb-lock-wait-timeout=50 \
      # --mysqld=--sql_mode=traditional \
      # --mysqld=--innodb_file_per_table=1 \
      # --mysqld=--loose-innodb_read_only_compressed=OFF \
      # --mysqld=--innodb_stats_persistent=on \
      # --mysqld=--innodb_adaptive_hash_index=off \
      # --mysqld=--innodb_random_read_ahead=ON \
      # --mysqld=--log-bin \
      # --mysqld=--sync-binlog=1 \
      # --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \
      # --mysqld=--loose-max-statement-time=30 \
      # --threads=2 \
      # --mysqld=--innodb-use-native-aio=0 \
      # --mysqld=--loose-gdb \
      # --mysqld=--loose-debug-gdb \
      # --rr=Extended \
      # --rr_options=--wait \
      # --mysqld=--innodb_undo_log_truncate=OFF \
      # --mysqld=--loose_innodb_change_buffering=deletes \
      # --mysqld=--innodb_undo_tablespaces=16 \
      # --mysqld=--innodb_rollback_on_timeout=ON \
      # --mysqld=--innodb_page_size=8K \
      # --mysqld=--innodb-buffer-pool-size=256M \
      # <local settings>
          
      

      Attachments

        Activity

          People

            nikitamalyavin Nikita Malyavin
            mleich Matthias Leich
            Votes:
            0 Vote for this issue
            Watchers:
            6 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.