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

Remove ibuf_read_merge_pages() call from ibuf_insert_low()

    XMLWordPrintable

Details

    Description

      Observation on
              origin/bb-10.6-MDEV-31559 3d9014385926096264e36bb3a0960660d61d0d1d 2023-06-30T17:07:21+03:00
      but I assume it could happen on all MariaDB versions and not only on that tree.
      Scenario:
      1. Start the server and create some initial data.
      2. 33 sessions run concurrent a random DDL/DML mix.
      3. At some point of time RQG detects that the planned runtime of 300s was exceeded
          by 240s and assumes that there might be some hang.
          The processlist shows 
           Content of processlist ---------- begin
       ID -- COMMAND -- TIME -- INFO
       14 -- Killed -- 384 -- UPDATE `t8` SET `pad` = 'o' WHERE `id` = 15519 /* E_R Thread1 QNO 74 CON_ID 14 */
       15 -- Killed -- 432 -- INSERT IGNORE INTO `t7` ( `k` ) VALUES ( 43283 ) /* E_R Thread2 QNO 69 CON_ID 15 */ 
       16 -- Killed -- 415 -- INSERT IGNORE INTO `t7` ( `id`, `pad` ) VALUES ( NULL, 'q' ) /* E_R Thread3 QNO 78 CON_ID 16 */
       17 -- Killed -- 446 -- DELETE FROM `t8` WHERE `id` = 30947 /* E_R Thread4 QNO 61 CON_ID 17 */
       18 -- Killed -- 445 -- UPDATE `t8` SET `pad` = 'v' WHERE `id` = 22319 /* E_R Thread5 QNO 61 CON_ID 18 */
       19 -- Killed -- 436 -- CREATE OR REPLACE TABLE D LIKE `t8` /* E_R Thread7 QNO 49 CON_ID 19 */
       20 -- Killed -- 431 -- CREATE OR REPLACE TABLE A LIKE `t8` /* E_R Thread6 QNO 78 CON_ID 20 */
       21 -- Killed -- 417 -- INSERT IGNORE INTO `t7` ( `k` ) VALUES ( 13625 ) /* E_R Thread8 QNO 87 CON_ID 21 */ 
       22 -- Killed -- 448 -- INSERT IGNORE INTO `t7` ( `id`, `k`) VALUES ( NULL, 1919221760 ) /* E_R Thread9 QNO 38 CON_ID 22 */
       23 -- Killed -- 417 -- INSERT IGNORE INTO `t8` ( `id`, `id`) VALUES ( NULL, 1691090944 ) /* E_R Thread10 QNO 52 CON_ID 23 */
       24 -- Killed -- 433 -- UPDATE IGNORE `t8` SET `k` = `k` + 1 WHERE `id` = 7807 /* E_R Thread11 QNO 50 CON_ID 24 */
       25 -- Killed -- 432 -- INSERT IGNORE INTO `t8` ( `id`, `pad` ) VALUES ( NULL, 'n' ) /* E_R Thread12 QNO 87 CON_ID 25 */
       26 -- Killed -- 441 -- UPDATE IGNORE `t8` SET `k` = `k` + 1 WHERE `id` = 61601 /* E_R Thread13 QNO 32 CON_ID 26 */
       27 -- Killed -- 445 -- DELETE FROM `t8` WHERE `id` = 16326 /* E_R Thread14 QNO 55 CON_ID 27 */
       28 -- Killed -- 446 -- INSERT IGNORE INTO `t8` ( `id`, `pad` ) VALUES ( NULL, 't' ) /* E_R Thread15 QNO 43 CON_ID 28 */
       29 -- Killed -- 448 -- UPDATE `t8` SET `pad` = 'w' WHERE `id` = 42498 /* E_R Thread16 QNO 47 CON_ID 29 */
       30 -- Killed -- 406 -- DELETE FROM `t8` WHERE `id` = 59209 /* E_R Thread17 QNO 56 CON_ID 30 */
       31 -- Killed -- 417 -- INSERT IGNORE INTO `t8` ( `id`, `pad` ) VALUES ( NULL, 'j' ) /* E_R Thread18 QNO 76 CON_ID 31 */
       32 -- Killed -- 406 -- UPDATE `t8` SET `c` = 'u' WHERE `id` = 10288 /* E_R Thread20 QNO 61 CON_ID 32 */
       33 -- Killed -- 417 -- INSERT IGNORE INTO `t8` ( `id`, `pad` ) VALUES ( NULL, 'g' ) /* E_R Thread22 QNO 61 CON_ID 33 */
       34 -- Killed -- 446 -- UPDATE IGNORE `t8` SET `k` = `id` + 1 WHERE `id` = 4899 /* E_R Thread19 QNO 50 CON_ID 34 */
       35 -- Killed -- 433 -- INSERT IGNORE INTO `t8` ( `id` ) VALUES ( 9540 ) /* E_R Thread24 QNO 57 CON_ID 35 */
       36 -- Killed -- 388 -- UPDATE IGNORE `t8` SET `id` = `id` + 1 WHERE `id` = 16125 /* E_R Thread23 QNO 70 CON_ID 36 */ 
       37 -- Killed -- 445 -- UPDATE `t8` SET `c` = 'x' WHERE `id` = 62671 /* E_R Thread21 QNO 76 CON_ID 37 */
       38 -- Killed -- 372 -- INSERT IGNORE INTO `t7` ( `k` ) VALUES ( 58830 ) /* E_R Thread25 QNO 99 CON_ID 38 */
       39 -- Killed -- 295 -- INSERT IGNORE INTO `t7` ( `id` ) VALUES ( 32728 ) /* E_R Thread26 QNO 106 CON_ID 39 */ 
       40 -- Killed -- 447 -- UPDATE IGNORE `t8` SET `k` = `k` + 1 WHERE `id` = 63092 /* E_R Thread27 QNO 59 CON_ID 40 */
       41 -- Killed -- 402 -- UPDATE IGNORE `t8` SET `id` = `k` + 1 WHERE `id` = 44812 /* E_R Thread28 QNO 68 CON_ID 41 */
       42 -- Killed -- 432 -- CREATE OR REPLACE TABLE E AS SELECT * FROM `t8` /* E_R Thread31 QNO 67 CON_ID 42 */ 
       43 -- Killed -- 446 -- INSERT IGNORE INTO `t8` ( `c` ) VALUES ( 'w' ) /* E_R Thread30 QNO 52 CON_ID 43 */
       44 -- Killed -- 415 -- ALTER TABLE `t8` FORCE /* E_R Thread29 QNO 66 CON_ID 44 */
       45 -- Killed -- 449 -- INSERT IGNORE INTO `t8` ( `id`, `c` ) VALUES ( NULL, 'i' ) /* E_R Thread32 QNO 59 CON_ID 45 */
       46 -- Killed -- 315 -- UPDATE IGNORE `t7` SET `k` = `id` + 1 WHERE `id` = 5957 /* E_R Thread33 QNO 97 CON_ID 46 */
       106 -- Query -- 0 -- SHOW FULL PROCESSLIST
       
      sdp:/data1/results/1688400193/Freeze$ _RR_TRACE_DIR=./1/rr rr replay --mark-stdio
       
      RQG
      ===
      # git clone https://github.com/mleich1/rqg --branch <pick the right branch> RQG
      #
      # GIT_SHOW: HEAD -> master, origin/master, origin/HEAD 0fb21c5d3820319b143188a54734f9dbae946b23 2023-07-03T19:30:45+02:00
      # rqg.pl  : Version 4.2.1 (2022-12)
      #
      # $RQG_HOME/rqg.pl \
      # --grammar=conf/mariadb/innodb_compression_encryption.yy \
      # --gendata=conf/mariadb/innodb_compression_encryption.zz \
      # --max_gd_duration=1800 \
      # --mysqld=--loose-innodb_encryption_rotate_key_age=1 \
      # --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=15 \
      # --mysqld=--innodb-lock-wait-timeout=10 \
      # --mysqld=--loose-innodb_read_only_compressed=OFF \
      # --mysqld=--innodb_stats_persistent=on \
      # --mysqld=--innodb_adaptive_hash_index=off \
      # --mysqld=--innodb_random_read_ahead=OFF \
      # --redefine=conf/mariadb/redefine_checks_off.yy \
      # --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \
      # --mysqld=--loose-max-statement-time=30 \
      # --threads=33 \
      # --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=inserts \
      # --mysqld=--innodb_undo_tablespaces=3 \
      # --mysqld=--innodb_rollback_on_timeout=OFF \
      # --mysqld=--innodb_page_size=32K \
      # --mysqld=--innodb-buffer-pool-size=24M \
      # <local settings>
      

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.