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

Proposition to add support for multi commands/scripts execution for the wsrep_notify_cmd parameter

    XMLWordPrintable

    Details

      Description

      Current implementation of the wsrep_notify_cmd parameter and the --wsrep-notify-command command line argument support only a single command/script implementation of execution.

      Proposition is to add support for adding multi commands/scripts to the wsrep_notify_cmd parameter for example:

      • provided as a list of commands/scripts separated by commas , like wsrep_notify_cmd=script1,script2,script3 or --wsrep-notify-command="script1,script2,script3"
      • multi command line arguments invocation? like --wsrep-notify-command="script1" --wsrep-notify-command="script2" --wsrep-notify-command="script3"
      • multi entries in a single configuration file? (separate rows of multi wsrep_notify_cmd parameters
      • join wsrep_notify_cmd parameter from separated configuration files?

      Separate only by commas should be enough. This will allow to call N registered commands/scripts. Like in the software observer pattern.

      It seems that the internal implementation of the mysqld should split the wsrep_notify_cmd parameter, simple loop over it and call each command/script separately. Maybe better will be to fork each script/command and join them together after the for loop. This will preserve the default behavior that invocation of the command/script block node (warning section).

      Original discussion: https://github.com/MariaDB/mariadb-docker/issues/28#issuecomment-844793730

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            tymonx Tymoteusz Blazejczyk
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Git Integration