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

ER_SLAVE_INCIDENT arrives at slave without failure specifics

Details

    Description

      When the mariadb slave (error) stops at receiving the event there's no description
      of what led to it. Neither in the event nor in the master's error log.

      Partly that issue was covered by an upstream patch:

      @commit 68cbdee45628349c82cbcf3f530b8859615a3f38
      Author: Bill Qu <bill.qu@Oracle.com>
      Date: Wed Sep 18 10:27:41 2013 +0800

      Bug #17258782 MASTER DIDN'T WRITE ERROR MESSAGE IN THE LOG FILE FOR INCIDENT

      Master is not generating error message to log file
      when writing an incident event to binlog. So user
      is not alerted that slave servers will be stopped
      by the incident event later.
      ...

      Attachments

        Issue Links

          Activity

            sujatha.sivakumar Sujatha Sivakumar (Inactive) added a comment - Hello Andrei, Please review the fix for MDEV-21087 . Build Bot: http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.2-sujatha Patch: https://github.com/MariaDB/server/commit/8576ea11f195dc2f76cd36a064712c40470a7afa Thank you.

            Current issue is specifically meant to include the upstream fix for
            Bug #17258782 MASTER DIDN'T WRITE ERROR MESSAGE IN THE LOG FILE FOR INCIDENT.

            Even though Arista networks experienced a similar problem with lost events and
            no error message is being logged in server log, the main issue is INCIDENT
            EVENT should not be written to binary log when safe rollback is possible.
            i.e DMLs are being performed in InnoDB engine and transaction cache becomes
            full. Here only error should have been reported to client rather than writing
            INCIDENT EVENT.

            For transactional changes that do not fit into the cache the following action
            needs to be taken:
            a) the statement is not logged
            b) its respective statement gives an error

            For non-transactional changes that do not fit into the cache and safe
            rollback is not possible because multi statement transaction changed both
            trans/non-trans tables then INCIDENT EVNENT should be written.

            Hence a new https://jira.mariadb.org/browse/MDEV-21443 is reported to track
            this issue.

            sujatha.sivakumar Sujatha Sivakumar (Inactive) added a comment - Current issue is specifically meant to include the upstream fix for Bug #17258782 MASTER DIDN'T WRITE ERROR MESSAGE IN THE LOG FILE FOR INCIDENT. Even though Arista networks experienced a similar problem with lost events and no error message is being logged in server log, the main issue is INCIDENT EVENT should not be written to binary log when safe rollback is possible. i.e DMLs are being performed in InnoDB engine and transaction cache becomes full. Here only error should have been reported to client rather than writing INCIDENT EVENT. For transactional changes that do not fit into the cache the following action needs to be taken: a) the statement is not logged b) its respective statement gives an error For non-transactional changes that do not fit into the cache and safe rollback is not possible because multi statement transaction changed both trans/non-trans tables then INCIDENT EVNENT should be written. Hence a new https://jira.mariadb.org/browse/MDEV-21443 is reported to track this issue.
            Elkin Andrei Elkin added a comment -

            Taking on myself the old commit to investigate/elaborate.

            Elkin Andrei Elkin added a comment - Taking on myself the old commit to investigate/elaborate.

            Hi Andrei!

            I've extended Sujatha's original work and it is
            ready for review: PR-2190

            bnestere Brandon Nesterenko added a comment - Hi Andrei! I've extended Sujatha's original work and it is ready for review: PR-2190
            Elkin Andrei Elkin added a comment -

            [ Approved ] on GH.

            Elkin Andrei Elkin added a comment - [ Approved ] on GH.

            Pushed into 10.3 as 555c12a.

            There will be merge conflicts in 10.4 (git), 10.5 (git), and 10.7 (compilation only).

            A branch exists for each conflict:
            bb-10.4-21087-merge
            bb-10.5-21087-merge
            bb-10.7-21087-merge

            bnestere Brandon Nesterenko added a comment - Pushed into 10.3 as 555c12a . There will be merge conflicts in 10.4 (git), 10.5 (git), and 10.7 (compilation only). A branch exists for each conflict: bb-10.4-21087-merge bb-10.5-21087-merge bb-10.7-21087-merge

            People

              bnestere Brandon Nesterenko
              Elkin Andrei Elkin
              Votes:
              1 Vote for this issue
              Watchers:
              7 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.