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

Make number of purge threads variable dynamic

Details

    Description

      Currently number of purge threads is static variable and require server shutdown and restart to be able to change. This should be changed to dynamic variable.

      Attachments

        Issue Links

          Activity

            jplindst Jan Lindström (Inactive) created issue -
            ratzpo Rasmus Johansson (Inactive) made changes -
            Field Original Value New Value
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.1 [ 16100 ]
            jplindst Jan Lindström (Inactive) made changes -
            Comment [ Could you run this test separately and provide me the full error log? I do not see how this test would be os dependent. ]
            jplindst Jan Lindström (Inactive) made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jplindst Jan Lindström (Inactive) made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            jplindst Jan Lindström (Inactive) made changes -
            Affects Version/s 10.1 [ 16100 ]
            Issue Type Bug [ 1 ] Task [ 3 ]
            jplindst Jan Lindström (Inactive) made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]

            I think that instead of doing this, we should benchmark and evaluate the current architecture. Could the interplay between the purge coordinator and worker threads be improved? A simpler architecture could as a side effect fix MDEV-11802.

            For a benchmark, I would suggest something like the following:

            START TRANSACTION WITH CONSISTENT SNAPSHOT; -- stops purge
            -- run a well defined load of INSERT, UPDATE, DELETE (no ROLLBACK) in other connections
            COMMIT; -- releases purge
            -- then, repeat the following until History list length reaches 0, and measure the time
            SHOW ENGINE INNODB STATUS;
            

            During the last phase it would also be beneficial to run perf record or similar, to see where the time is being spent. It would also be useful to monitor the CPU usage with top or similar, to see if purge is actually running as fast as possible on an otherwise idle system, until there is no work to do.

            marko Marko Mäkelä added a comment - I think that instead of doing this, we should benchmark and evaluate the current architecture. Could the interplay between the purge coordinator and worker threads be improved? A simpler architecture could as a side effect fix MDEV-11802 . For a benchmark, I would suggest something like the following: START TRANSACTION WITH CONSISTENT SNAPSHOT; -- stops purge -- run a well defined load of INSERT, UPDATE, DELETE (no ROLLBACK) in other connections COMMIT ; -- releases purge -- then, repeat the following until History list length reaches 0, and measure the time SHOW ENGINE INNODB STATUS; During the last phase it would also be beneficial to run perf record or similar, to see where the time is being spent. It would also be useful to monitor the CPU usage with top or similar, to see if purge is actually running as fast as possible on an otherwise idle system, until there is no work to do.
            marko Marko Mäkelä made changes -
            jplindst Jan Lindström (Inactive) made changes -
            Fix Version/s 10.3 [ 22126 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 77759 ] MariaDB v4 [ 131816 ]
            janlindstrom Jan Lindström made changes -
            Assignee Jan Lindström [ jplindst ] Marko Mäkelä [ marko ]
            marko Marko Mäkelä made changes -

            This ticket was duplicated as MDEV-26520 several years ago.

            marko Marko Mäkelä added a comment - This ticket was duplicated as MDEV-26520 several years ago.
            marko Marko Mäkelä made changes -
            issue.field.resolutiondate 2023-04-11 09:50:41.0 2023-04-11 09:50:41.498
            marko Marko Mäkelä made changes -
            Fix Version/s 10.7.0 [ 26072 ]
            Resolution Duplicate [ 3 ]
            Status In Progress [ 3 ] Closed [ 6 ]

            People

              marko Marko Mäkelä
              jplindst Jan Lindström (Inactive)
              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.