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

innodb.innodb_simulate_comp_failures_small is too slow if it's run on a real disk

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5.39, 10.0.13
    • 5.5.40, 10.0.14
    • None

    Description

      We have a report from otto that innodb.innodb_simulate_comp_failures_small fails reliably in his installation due to the timeout; also, it fails on some buildbot platforms: bld-dan-debug, bld-dan-release, bintar-rhel7-p8-debug, bintar-rhel7-p8.

      I tried to run it on a non-virtual machine without --mem, and got the same issue.

      The problem is that individual INSERTs are performed too slowly. We need to modify either the test itself, or its options not to flush after every commit.

      Attachments

        Issue Links

          Activity

            Hmm, I can decrease the number of inserts done, not really sure if durability level change would help always.

            jplindst Jan Lindström (Inactive) added a comment - Hmm, I can decrease the number of inserts done, not really sure if durability level change would help always.

            revno: 4365
            committer: Jan Lindström <jplindst@mariadb.org>
            branch nick: 10.0-innodb
            timestamp: Tue 2014-09-02 17:50:09 +0300
            message:
            MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow
            if it's run on a real disk

            Made test smaller.

            jplindst Jan Lindström (Inactive) added a comment - revno: 4365 committer: Jan Lindström <jplindst@mariadb.org> branch nick: 10.0-innodb timestamp: Tue 2014-09-02 17:50:09 +0300 message: MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow if it's run on a real disk Made test smaller.

            revno: 4276
            committer: Jan Lindström <jplindst@mariadb.org>
            branch nick: 5.5
            timestamp: Wed 2014-09-03 07:37:13 +0300
            message:
            MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow
            if it's run on a real disk

            Made test smaller.

            jplindst Jan Lindström (Inactive) added a comment - revno: 4276 committer: Jan Lindström <jplindst@mariadb.org> branch nick: 5.5 timestamp: Wed 2014-09-03 07:37:13 +0300 message: MDEV-6682 innodb.innodb_simulate_comp_failures_small is too slow if it's run on a real disk Made test smaller.

            Generally, there seems to be little point in running tests with --innodb-flush-log-at-trx-commit=1 rather than =2, unless one is specifically testing the --innodb-flush-log-at-trx-commit option.

            --innodb-flush-log-at-trx-commit=1 is extremely expensive, as it requires an fsync() for every transaction (even multiple if binlog is enabled). But the effect of an fsync() is completely invisible to an application, it only makes a difference if the OS kernel crashes. So it seems wasteful.

            (This problem is not specific to innodb.innodb_simulate_comp_failures_small, but it's particularly relevant here since that test does 1000 individual small transactions, IIRC)

            knielsen Kristian Nielsen added a comment - Generally, there seems to be little point in running tests with --innodb-flush-log-at-trx-commit=1 rather than =2, unless one is specifically testing the --innodb-flush-log-at-trx-commit option. --innodb-flush-log-at-trx-commit=1 is extremely expensive, as it requires an fsync() for every transaction (even multiple if binlog is enabled). But the effect of an fsync() is completely invisible to an application, it only makes a difference if the OS kernel crashes. So it seems wasteful. (This problem is not specific to innodb.innodb_simulate_comp_failures_small, but it's particularly relevant here since that test does 1000 individual small transactions, IIRC)

            jplindst It seems you never added `--innodb-flush-log-at-trx-commit=2` to this test upstream. Thus we are still carrying this patch downstream in Debian: https://salsa.debian.org/mariadb-team/mariadb-10.5/-/tree/master/debian/patches

            Do you plan to include that line as Kristian also suggested?

            otto Otto Kekäläinen added a comment - jplindst It seems you never added `--innodb-flush-log-at-trx-commit=2` to this test upstream. Thus we are still carrying this patch downstream in Debian: https://salsa.debian.org/mariadb-team/mariadb-10.5/-/tree/master/debian/patches Do you plan to include that line as Kristian also suggested?

            People

              jplindst Jan Lindström (Inactive)
              elenst Elena Stepanova
              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.