Details
-
Bug
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
10.4.13
-
None
-
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
- relates to
-
MDEV-22796 asio problems and IST failures
-
- Closed
-