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

Simplify audit event dispatching

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.2.0
    • Component/s: Plugins
    • Labels:
      None
    • Sprint:
      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

            Assignee:
            svoj Sergey Vojtovich
            Reporter:
            svoj Sergey Vojtovich
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: