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

Server hang when using simulated AIO

    XMLWordPrintable

    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

            People

            Assignee:
            marko Marko Mäkelä
            Reporter:
            marko Marko Mäkelä
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: