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

Server hang when using simulated AIO

Details

    Description

      The write-heavy test innodb_zip.wl6501_scale_1 timed out on 10.2 60d7011c5f6ebda057d3e730c6f67519a1fb7f0c for me. Out of os_aio_n_segments=6, 5 are waiting for an event in os_aio_simulated_handler(). One thread is waiting for a write to complete in buf_dblwr_add_to_batch(), but that will never happen, because nothing is waking up the simulated AIO handler threads. The following patch should fix it:

      diff --git a/storage/innobase/buf/buf0dblwr.cc b/storage/innobase/buf/buf0dblwr.cc
      index 36054dbf9fe..32b4399b41d 100644
      --- a/storage/innobase/buf/buf0dblwr.cc
      +++ b/storage/innobase/buf/buf0dblwr.cc
      @@ -1,7 +1,7 @@
       /*****************************************************************************
       
       Copyright (c) 1995, 2017, Oracle and/or its affiliates. All Rights Reserved.
      -Copyright (c) 2013, 2019, MariaDB Corporation.
      +Copyright (c) 2013, 2020, MariaDB Corporation.
       
       This program is free software; you can redistribute it and/or modify it under
       the terms of the GNU General Public License as published by the Free Software
      @@ -963,6 +963,7 @@ buf_dblwr_flush_buffered_writes(void)
       		ib_int64_t	sig_count = os_event_reset(buf_dblwr->b_event);
       		mutex_exit(&buf_dblwr->mutex);
       
      +		os_aio_simulated_wake_handler_threads();
       		os_event_wait_low(buf_dblwr->b_event, sig_count);
       		goto try_again;
       	}
      @@ -1096,6 +1097,7 @@ buf_dblwr_add_to_batch(
       		checkpoint. */
       		ib_int64_t	sig_count = os_event_reset(buf_dblwr->b_event);
       		mutex_exit(&buf_dblwr->mutex);
      +		os_aio_simulated_wake_handler_threads();
       
       		os_event_wait_low(buf_dblwr->b_event, sig_count);
       		goto try_again;
      

      (And the same for XtraDB in 10.1.)

      This hang appears to have been introduced in MySQL 5.6.12.

      Attachments

        Activity

          There are no comments yet on this issue.

          People

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