[MDEV-22797] galera uses old version of asio library Created: 2020-06-04  Updated: 2021-12-23

Status: Open
Project: MariaDB Server
Component/s: Galera
Affects Version/s: 10.4.13
Fix Version/s: 10.4

Type: Bug Priority: Minor
Reporter: Eugene Assignee: Teemu Ollakka
Resolution: Unresolved Votes: 0
Labels: None
Environment:

Linux 4.19.124-gentoo x86_64 AMD EPYC 7451


Issue Links:
Relates
relates to MDEV-22796 asio problems and IST failures Closed

 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.


Generated at Thu Feb 08 09:17:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.