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

galera uses old version of asio library

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 10.4.13
    • Fix Version/s: 10.4
    • Component/s: Galera
    • Labels:
      None
    • Environment:
      Linux 4.19.124-gentoo x86_64 AMD EPYC 7451

      Description

      It appeared that recent galera 26.4.4 still relies on very old asio library version.
      It was found with Gentoo portage system reporting version 1.10.8 installed blocking update of asio library to latest stable version 1.14.0. Brief overview of asio release hostiry indicates that library was reviewed many times since that 1.10.8 release. However, there is an issue with asio functions reporting timeout (see MDEV-22796) that leads to state transfer failure and it's even impossible to rebuild galera with any other library version as newer versions are not supported by Galera while older are not accessible already in Gentoo.
      It also appeared that asio version requirements are hardcoded:

      / # qlist -Iv sys-cluster/galera
      sys-cluster/galera-26.4.4
      / # qlist -Iv dev-cpp/asio
      dev-cpp/asio-1.10.8
      / # tar xzf /var/cache/distfiles/galera-26.4.4.tar.gz 
      / # cd galera-26.4.4/
      /galera-26.4.4 # grep -r "1.10.8" 
      SConstruct:#if ASIO_VERSION < 101008
      SConstruct:    context.Message('Checking ASIO version (>= 1.10.8 and < 1.11.0) ... ')
      asio/asio/version.hpp:#define ASIO_VERSION 101008 // 1.10.8
       
      /galera-26.4.4 # less SConstruct
      ...
      def CheckSystemASIOVersion(context):
          system_asio_test_source_file = """ 
      #include <asio.hpp>
       
      #define XSTR(x) STR(x)
      #define STR(x) #x
      #pragma message "Asio version:" XSTR(ASIO_VERSION)
      #if ASIO_VERSION < 101008
      #error Included asio version is too old
      #elif ASIO_VERSION >= 101100
      #error Included asio version is too new
      #endif
      

      Thus, latest galera released in May 2020 relies on asio released in 2016 and doesn't allow building it with newer library versions for troubleshooting.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jplindst Jan Lindström
              Reporter:
              euglorg Eugene
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated: