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

Diagnostics_area does not always contain apply error info

    XMLWordPrintable

Details

    • Can result in hang or crash
    • Hide
      It appears that some error conditions don't store error information in the Diagnostics_area.
      For example when table_def::compatible_with() check fails error message is stored in Relay_log_info instead.
      This results in optimistically identical votes and zero error buffer size breaks wsrep-lib logic as it relies on error buffer size to decide whether voting took place.
      To account for this, first try to obtain error info from Relay_log_info, then fallback to Diagnostics_area. If that fails use some random data to distinguish this condition from success.
      This requires bumping of the application protocol to 8 since vote message generation algorithm has changed.
      Show
      It appears that some error conditions don't store error information in the Diagnostics_area. For example when table_def::compatible_with() check fails error message is stored in Relay_log_info instead. This results in optimistically identical votes and zero error buffer size breaks wsrep-lib logic as it relies on error buffer size to decide whether voting took place. To account for this, first try to obtain error info from Relay_log_info, then fallback to Diagnostics_area. If that fails use some random data to distinguish this condition from success. This requires bumping of the application protocol to 8 since vote message generation algorithm has changed.

    Description

      It appears that some error conditions don't store error information in the Diagnostics_area.
      For example when table_def::compatible_with() check fails error message is stored in Relay_log_info instead.
      This results in optimistically identical votes and zero error buffer size breaks wsrep-lib logic as it relies on error buffer size to decide whether voting took place.
      To account for this, first try to obtain error info from Diagnostics_area, then fallback to Relay_log_info. If that fails use some random data to distinguish this condition from success.

      Attachments

        Activity

          People

            Yurchenko Alexey
            Yurchenko Alexey
            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.