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

innodb engine status missing some IO statistics

Details

    Description

      Somewhere between 10.1 and 10.2, some of the IO statistics in 'show engine innodb status' stopped working.

      In 10.1:

      Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0] ,
      ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0

      in 10.2:

      Pending normal aio reads: [0, 0, 0, 0] , aio writes: [0, 0, 0, 0] ,
      ibuf aio reads:, log i/o's:, sync i/o's:

      As you can see there are some zeroes missing.

      thanks
      Jonathan

      Attachments

        Issue Links

          Activity

            The same issue appears to exist in MySQL since version 5.7.8, where some code was refactored. Either the function AIO::print_segment_info() or its caller should display m_n_reserved.

            marko Marko Mäkelä added a comment - The same issue appears to exist in MySQL since version 5.7.8 , where some code was refactored. Either the function AIO::print_segment_info()  or its caller should display m_n_reserved .

            It looks like this got broken further in MDEV-16264 (10.5.0). We now have totally useless output in os_aio_print(), which I will remove:

            diff --git a/storage/innobase/os/os0file.cc b/storage/innobase/os/os0file.cc
            index fc3da454d2d..48d7c69319f 100644
            --- a/storage/innobase/os/os0file.cc
            +++ b/storage/innobase/os/os0file.cc
            @@ -4160,10 +4160,6 @@ os_aio_print(FILE*	file)
             	time_t		current_time;
             	double		time_elapsed;
             
            -	fputs("Pending normal aio reads:", file);
            -
            -
            -	putc('\n', file);
             	current_time = time(NULL);
             	time_elapsed = 0.001 + difftime(current_time, os_last_printout);
             
            

            As part of MDEV-16264, other output (along with class AIO) was already removed in MariaDB Server 10.5.0.

            Because there have not been any further votes or comments for this issue, I think that it is fine to remove the code.

            Asynchronous reads are only used by read-ahead. Asynchronous writes are being used for data file pages, and it could hurt performance to accurately track the number of pending operations, which is not interesting anyway. I suspect that the output had originally been added in order to be able to diagnose some hangs. I do not remember any I/O hangs lately.

            marko Marko Mäkelä added a comment - It looks like this got broken further in MDEV-16264 (10.5.0). We now have totally useless output in os_aio_print() , which I will remove: diff --git a/storage/innobase/os/os0file.cc b/storage/innobase/os/os0file.cc index fc3da454d2d..48d7c69319f 100644 --- a/storage/innobase/os/os0file.cc +++ b/storage/innobase/os/os0file.cc @@ -4160,10 +4160,6 @@ os_aio_print(FILE* file) time_t current_time; double time_elapsed; - fputs("Pending normal aio reads:", file); - - - putc('\n', file); current_time = time(NULL); time_elapsed = 0.001 + difftime(current_time, os_last_printout); As part of MDEV-16264 , other output (along with class AIO ) was already removed in MariaDB Server 10.5.0. Because there have not been any further votes or comments for this issue, I think that it is fine to remove the code. Asynchronous reads are only used by read-ahead. Asynchronous writes are being used for data file pages, and it could hurt performance to accurately track the number of pending operations, which is not interesting anyway. I suspect that the output had originally been added in order to be able to diagnose some hangs. I do not remember any I/O hangs lately.

            Most of the statistics were already removed in MariaDB 10.5.0. 10.5.10 will remove the string "Pending normal aio reads" that was not followed by any numbers.

            marko Marko Mäkelä added a comment - Most of the statistics were already removed in MariaDB 10.5.0. 10.5.10 will remove the string "Pending normal aio reads" that was not followed by any numbers.

            People

              marko Marko Mäkelä
              jnicol Jonathan Nicol
              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.