Details
-
Wish
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Impala 4.0.0
-
None
-
None
-
ghx-label-5
Description
Kudu client library in Impala 4.0 toolchain was built on Linux 3.17 or later on which Boost use getrandom(2) to generate UUID. When run impala on an older version platform, it could crash when use kudu tables. Below is a coredump stack of impalad:
#0 0x00007f25eb0ec1f7 in raise () from /lib64/libc.so.6 #1 0x00007f25eb0ed8e8 in abort () from /lib64/libc.so.6 #2 0x00007f25eba25475 in __gnu_cxx::__verbose_terminate_handler () at ../../../../gcc-7.5.0/libstdc++-v3/libsupc++/vterminate.cc:95 #3 0x00007f25eba23236 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../gcc-7.5.0/libstdc++-v3/libsupc++/eh_terminate.cc:47 #4 0x00007f25eba23281 in std::terminate () at ../../../../gcc-7.5.0/libstdc++-v3/libsupc++/eh_terminate.cc:57 #5 0x00007f25eba234c4 in __cxxabiv1::__cxa_throw (obj=obj@entry=0x4a47ad30, tinfo=tinfo@entry=0x7f25ed44c8f0 <typeinfo for boost::wrapexcept<boost::uuids::entropy_error>>, dest=dest@entry= 0x7f25ecf926c0 <boost::wrapexcept<boost::uuids::entropy_error>::~wrapexcept()>) at ../../../../gcc-7.5.0/libstdc++-v3/libsupc++/eh_throw.cc:93 #6 0x00007f25ecfc29f1 in throw_exception<boost::uuids::entropy_error> (loc=..., e=...) at /mnt/source/kudu/kudu-b5e7362e69/thirdparty/installed/uninstrumented/include/boost/throw_exception.hpp:171 #7 get_random_bytes (siz=<optimized out>, buf=<optimized out>, this=<optimized out>) at /mnt/source/kudu/kudu-b5e7362e69/thirdparty/installed/uninstrumented/include/boost/uuid/detail/random_provider_getrandom.ipp:55 #8 operator() (this=<optimized out>) at /mnt/source/kudu/kudu-b5e7362e69/thirdparty/installed/uninstrumented/include/boost/uuid/random_generator.hpp:211 #9 kudu::ObjectIdGenerator::Next[abi:cxx11]() (this=this@entry=0x7f25ed463c50 <_ZZN4kudu6client10KuduClientC4EvE13oid_generator>) at /mnt/source/kudu/kudu-b5e7362e69/src/kudu/util/oid_generator.cc:49 #10 0x00007f25ecdb9a2b in kudu::client::KuduClient::KuduClient (this=0x42d42dc0) at /mnt/source/kudu/kudu-b5e7362e69/src/kudu/client/client.cc:460 #11 0x00007f25ecdbf521 in kudu::client::KuduClientBuilder::Build (this=this@entry=0x7f0a548a6170, client=client@entry=0x141d26b0) at /mnt/source/kudu/kudu-b5e7362e69/src/kudu/client/client.cc:377 #12 0x0000000000d6f403 in impala::CreateKuduClient (master_addrs=..., client=client@entry=0x141d26b0) at /data/apache-impala/be/src/exec/kudu-util.cc:100
Because kudu 1.15 forces Boost to use /dev/[u]random for UUID generation(see 274181 and 316f74 for more details), I think it's necessary to upgrade toolchain to pull in newer version of kudu client.
Attachments
Issue Links
- Is contained by
-
IMPALA-10859 Impala 4.0 should build on top of kudu 1.15
- Resolved