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

Simplify audit event dispatching

    XMLWordPrintable

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.2.0
    • Plugins
    • None
    • 10.2.0-7

    Description

      Currently audit event dispatching looks like:

      mysql_audit_notify_connection_connect() -> mysql_audit_notify() -> connection_class_handler() -> event_class_dispatch() -> plugins_dispatch() -> plugin->event_notify()
      

      This construct:

      • adds unnecessary complexity when adding new event types
      • performance overhead: 6 functions in chains, at least 3 can't be inlined
      • shown to be vulnerable to programming mistakes

      We should strive for:

      mysql_audit_notify_connection_connect() -> plugin->event_notify()
      

      If the latter is complex, at least the following should be trivial to implement:

      mysql_audit_notify_connection_connect() -> event_class_dispatch() -> plugins_dispatch() -> plugin->event_notify()
      

      Attachments

        Activity

          People

            svoj Sergey Vojtovich
            svoj Sergey Vojtovich
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.