Sahil Takiar created IMPALA-9740:
------------------------------------
Summary: TSAN data race in hdfs-bulk-ops
Key: IMPALA-9740
URL: https://issues.apache.org/jira/browse/IMPALA-9740
Project: IMPALA
Issue Type: Sub-task
Components: Backend
Reporter: Sahil Takiar
hdfs-bulk-ops usage of a local connection cache (HdfsFsCache::HdfsFsMap) has a
data race:
{code:java}
WARNING: ThreadSanitizer: data race (pid=23205)
Write of size 8 at 0x7b24005642d8 by thread T47:
#0
boost::unordered::detail::table_impl<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::add_node(boost::unordered::detail::node_constructor<std::allocator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > > >&, unsigned long)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/unique.hpp:329:26
(impalad+0x1f93832)
#1
std::pair<boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > >, bool>
boost::unordered::detail::table_impl<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::emplace_impl<std::pair<std::string const, hdfs_internal*> >(std::string
const&, std::pair<std::string const, hdfs_internal*>&&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/unique.hpp:420:41
(impalad+0x1f933ed)
#2
std::pair<boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > >, bool>
boost::unordered::detail::table_impl<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::emplace<std::pair<std::string const, hdfs_internal*> >(std::pair<std::string
const, hdfs_internal*>&&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/unique.hpp:384:20
(impalad+0x1f932d1)
#3
std::pair<boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > >, bool> boost::unordered::unordered_map<std::string,
hdfs_internal*, boost::hash<std::string>, std::equal_to<std::string>,
std::allocator<std::pair<std::string const, hdfs_internal*> >
>::emplace<std::pair<std::string const, hdfs_internal*> >(std::pair<std::string
const, hdfs_internal*>&&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/unordered_map.hpp:241:27
(impalad+0x1f93238)
#4 boost::unordered::unordered_map<std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string>,
std::allocator<std::pair<std::string const, hdfs_internal*> >
>::insert(std::pair<std::string const, hdfs_internal*>&&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/unordered_map.hpp:390:26
(impalad+0x1f92038)
#5 impala::HdfsFsCache::GetConnection(std::string const&, hdfs_internal**,
boost::unordered::unordered_map<std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string>,
std::allocator<std::pair<std::string const, hdfs_internal*> > >*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/hdfs-fs-cache.cc:115:18
(impalad+0x1f916b3)
#6 impala::HdfsOp::Execute() const
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/hdfs-bulk-ops.cc:84:55
(impalad+0x23444d5)
#7 HdfsThreadPoolHelper(int, impala::HdfsOp const&)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/hdfs-bulk-ops.cc:137:6
(impalad+0x2344ea9)
#8 boost::detail::function::void_function_invoker2<void (*)(int,
impala::HdfsOp const&), void, int, impala::HdfsOp
const&>::invoke(boost::detail::function::function_buffer&, int, impala::HdfsOp
const&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:118:11
(impalad+0x2345e80)
#9 boost::function2<void, int, impala::HdfsOp const&>::operator()(int,
impala::HdfsOp const&) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14
(impalad+0x1f883be)
#10 impala::ThreadPool<impala::HdfsOp>::WorkerThread(int)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread-pool.h:166:9
(impalad+0x1f874e5)
#11 boost::_mfi::mf1<void, impala::ThreadPool<impala::HdfsOp>,
int>::operator()(impala::ThreadPool<impala::HdfsOp>*, int) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:165:29
(impalad+0x1f87b7d)
#12 void
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> >::operator()<boost::_mfi::mf1<void,
impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf1<void,
impala::ThreadPool<impala::HdfsOp>, int>&, boost::_bi::list0&, int)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:319:9
(impalad+0x1f87abc)
#13 boost::_bi::bind_t<void, boost::_mfi::mf1<void,
impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> > >::operator()()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
(impalad+0x1f87a23)
#14
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> > >,
void>::invoke(boost::detail::function::function_buffer&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11
(impalad+0x1f877c1)
#15 boost::function0<void>::operator()() const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14
(impalad+0x1e192b1)
#16 impala::Thread::SuperviseThread(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3
(impalad+0x23df196)
#17 void boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*>
>::operator()<void (*)(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void
(*&)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list0&, int)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9
(impalad+0x23e735c)
#18 boost::_bi::bind_t<void, void (*)(std::string const&, std::string
const&, boost::function<void ()>, impala::ThreadDebugInfo const*,
impala::Promise<long, (impala::PromiseMode)0>*),
boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> >
>::operator()()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
(impalad+0x23e7273)
#19 boost::detail::thread_data<boost::_bi::bind_t<void, void
(*)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17
(impalad+0x23e6f60)
#20 thread_proxy <null> (impalad+0x30e44f9)
Previous read of size 8 at 0x7b24005642d8 by thread T48:
#0
boost::unordered::detail::table<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::get_previous_start(unsigned long) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/table.hpp:254:46
(impalad+0x1f9313b)
#1
boost::unordered::detail::table<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> > >::begin(unsigned long)
const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/table.hpp:265:33
(impalad+0x1f92fc4)
#2
boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > >
boost::unordered::detail::table_impl<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::find_node_impl<std::string, std::equal_to<std::string> >(unsigned long,
std::string const&, std::equal_to<std::string> const&) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/unique.hpp:244:32
(impalad+0x1f92e40)
#3
boost::unordered::detail::table<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> > >::find_node(std::string
const&) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/table.hpp:794:17
(impalad+0x1f92dcf)
#4 boost::unordered::unordered_map<std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string>,
std::allocator<std::pair<std::string const, hdfs_internal*> >
>::find(std::string const&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/unordered_map.hpp:1213:23
(impalad+0x1f91ee0)
#5 impala::HdfsFsCache::GetConnection(std::string const&, hdfs_internal**,
boost::unordered::unordered_map<std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string>,
std::allocator<std::pair<std::string const, hdfs_internal*> > >*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/hdfs-fs-cache.cc:80:51
(impalad+0x1f914c3)
#6 impala::HdfsOp::Execute() const
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/hdfs-bulk-ops.cc:84:55
(impalad+0x23444d5)
#7 HdfsThreadPoolHelper(int, impala::HdfsOp const&)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/hdfs-bulk-ops.cc:137:6
(impalad+0x2344ea9)
#8 boost::detail::function::void_function_invoker2<void (*)(int,
impala::HdfsOp const&), void, int, impala::HdfsOp
const&>::invoke(boost::detail::function::function_buffer&, int, impala::HdfsOp
const&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:118:11
(impalad+0x2345e80)
#9 boost::function2<void, int, impala::HdfsOp const&>::operator()(int,
impala::HdfsOp const&) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14
(impalad+0x1f883be)
#10 impala::ThreadPool<impala::HdfsOp>::WorkerThread(int)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread-pool.h:166:9
(impalad+0x1f874e5)
#11 boost::_mfi::mf1<void, impala::ThreadPool<impala::HdfsOp>,
int>::operator()(impala::ThreadPool<impala::HdfsOp>*, int) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:165:29
(impalad+0x1f87b7d)
#12 void
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> >::operator()<boost::_mfi::mf1<void,
impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf1<void,
impala::ThreadPool<impala::HdfsOp>, int>&, boost::_bi::list0&, int)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:319:9
(impalad+0x1f87abc)
#13 boost::_bi::bind_t<void, boost::_mfi::mf1<void,
impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> > >::operator()()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
(impalad+0x1f87a23)
#14
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> > >,
void>::invoke(boost::detail::function::function_buffer&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11
(impalad+0x1f877c1)
#15 boost::function0<void>::operator()() const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14
(impalad+0x1e192b1)
#16 impala::Thread::SuperviseThread(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3
(impalad+0x23df196)
#17 void boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*>
>::operator()<void (*)(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void
(*&)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list0&, int)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9
(impalad+0x23e735c)
#18 boost::_bi::bind_t<void, void (*)(std::string const&, std::string
const&, boost::function<void ()>, impala::ThreadDebugInfo const*,
impala::Promise<long, (impala::PromiseMode)0>*),
boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> >
>::operator()()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
(impalad+0x23e7273)
#19 boost::detail::thread_data<boost::_bi::bind_t<void, void
(*)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17
(impalad+0x23e6f60)
#20 thread_proxy <null> (impalad+0x30e44f9)
Location is heap block of size 136 at 0x7b24005642a0 allocated by thread T337:
#0 operator new(unsigned long)
/mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:44
(impalad+0x19b5ed3)
#1
__gnu_cxx::new_allocator<boost::unordered::detail::ptr_bucket>::allocate(unsigned
long, void const*)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/gcc-4.9.2/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/ext/new_allocator.h:104:27
(impalad+0x1f0e02e)
#2
boost::unordered::detail::allocator_traits<std::allocator<boost::unordered::detail::ptr_bucket>
>::allocate(std::allocator<boost::unordered::detail::ptr_bucket>&, unsigned
long)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/allocate.hpp:554:24
(impalad+0x1f0dfd2)
#3 void
boost::unordered::detail::array_constructor<std::allocator<boost::unordered::detail::ptr_bucket>
>::construct<boost::unordered::detail::ptr_bucket>(boost::unordered::detail::ptr_bucket
const&, unsigned long)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/allocate.hpp:1098:20
(impalad+0x1f0dd09)
#4
boost::unordered::detail::table<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::create_buckets(unsigned long)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/table.hpp:436:25
(impalad+0x1f93f21)
#5
boost::unordered::detail::table<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::reserve_for_insert(unsigned long)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/table.hpp:823:13
(impalad+0x1f93727)
#6
std::pair<boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > >, bool>
boost::unordered::detail::table_impl<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::emplace_impl<std::pair<std::string const, hdfs_internal*> >(std::string
const&, std::pair<std::string const, hdfs_internal*>&&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/unique.hpp:419:19
(impalad+0x1f933de)
#7
std::pair<boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > >, bool>
boost::unordered::detail::table_impl<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::emplace<std::pair<std::string const, hdfs_internal*> >(std::pair<std::string
const, hdfs_internal*>&&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/unique.hpp:384:20
(impalad+0x1f932d1)
#8
std::pair<boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > >, bool> boost::unordered::unordered_map<std::string,
hdfs_internal*, boost::hash<std::string>, std::equal_to<std::string>,
std::allocator<std::pair<std::string const, hdfs_internal*> >
>::emplace<std::pair<std::string const, hdfs_internal*> >(std::pair<std::string
const, hdfs_internal*>&&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/unordered_map.hpp:241:27
(impalad+0x1f93238)
#9 boost::unordered::unordered_map<std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string>,
std::allocator<std::pair<std::string const, hdfs_internal*> >
>::insert(std::pair<std::string const, hdfs_internal*>&&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/unordered_map.hpp:390:26
(impalad+0x1f92038)
#10 impala::HdfsFsCache::GetConnection(std::string const&, hdfs_internal**,
boost::unordered::unordered_map<std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string>,
std::allocator<std::pair<std::string const, hdfs_internal*> > >*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/hdfs-fs-cache.cc:115:18
(impalad+0x1f916b3)
#11 impala::DmlExecState::FinalizeHdfsInsert(impala::TFinalizeParams
const&, bool, impala::HdfsTableDescriptor*, impala::RuntimeProfile*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/dml-exec-state.cc:168:5
(impalad+0x208b147)
#12 impala::Coordinator::FinalizeHdfsDml()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/coordinator.cc:749:39
(impalad+0x291129a)
#13 impala::Coordinator::Wait()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/coordinator.cc:803:5
(impalad+0x2911aea)
#14 impala::ClientRequestState::WaitInternal()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/client-request-state.cc:875:5
(impalad+0x22148bc)
#15 impala::ClientRequestState::Wait()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/client-request-state.cc:821:19
(impalad+0x22144a6)
#16 boost::_mfi::mf0<void,
impala::ClientRequestState>::operator()(impala::ClientRequestState*) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:49:29
(impalad+0x221dd26)
#17 void boost::_bi::list1<boost::_bi::value<impala::ClientRequestState*>
>::operator()<boost::_mfi::mf0<void, impala::ClientRequestState>,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void,
impala::ClientRequestState>&, boost::_bi::list0&, int)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:259:9
(impalad+0x221dc7a)
#18 boost::_bi::bind_t<void, boost::_mfi::mf0<void,
impala::ClientRequestState>,
boost::_bi::list1<boost::_bi::value<impala::ClientRequestState*> >
>::operator()()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
(impalad+0x221dc03)
#19
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::mf0<void, impala::ClientRequestState>,
boost::_bi::list1<boost::_bi::value<impala::ClientRequestState*> > >,
void>::invoke(boost::detail::function::function_buffer&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11
(impalad+0x221d9f9)
#20 boost::function0<void>::operator()() const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14
(impalad+0x1e192b1)
#21 impala::Thread::SuperviseThread(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3
(impalad+0x23df196)
#22 void boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*>
>::operator()<void (*)(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void
(*&)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list0&, int)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9
(impalad+0x23e735c)
#23 boost::_bi::bind_t<void, void (*)(std::string const&, std::string
const&, boost::function<void ()>, impala::ThreadDebugInfo const*,
impala::Promise<long, (impala::PromiseMode)0>*),
boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> >
>::operator()()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
(impalad+0x23e7273)
#24 boost::detail::thread_data<boost::_bi::bind_t<void, void
(*)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17
(impalad+0x23e6f60)
#25 thread_proxy <null> (impalad+0x30e44f9)
Thread T47 (tid=23506, running) created by main thread at:
#0 pthread_create
/mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889
(impalad+0x194d8bb)
#1 boost::thread::start_thread_noexcept() <null> (impalad+0x30e3889)
#2 boost::thread::thread<void (*)(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), std::string, std::string, boost::function<void ()>,
impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*>(void
(*)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), std::string, std::string, boost::function<void ()>,
impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:420:13
(impalad+0x23e196b)
#3 impala::Thread::StartThread(std::string const&, std::string const&,
boost::function<void ()> const&, std::unique_ptr<impala::Thread,
std::default_delete<impala::Thread> >*, bool)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:317:13
(impalad+0x23deb35)
#4 impala::Status impala::Thread::Create<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> > > >(std::string const&, std::string const&,
boost::_bi::bind_t<void, boost::_mfi::mf1<void,
impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> > > const&, std::unique_ptr<impala::Thread,
std::default_delete<impala::Thread> >*, bool)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.h:74:12
(impalad+0x1f87303)
#5 impala::ThreadPool<impala::HdfsOp>::Init()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread-pool.h:73:23
(impalad+0x1f7ad1f)
#6 impala::ExecEnv::Init()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/exec-env.cc:310:5
(impalad+0x1f74d57)
#7 ImpaladMain(int, char**)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/impalad-main.cc:73:3
(impalad+0x21a5047)
#8 main
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/daemon-main.cc:37:12
(impalad+0x19b860a) Thread T48 (tid=23507, running) created by main thread at:
#0 pthread_create
/mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889
(impalad+0x194d8bb)
#1 boost::thread::start_thread_noexcept() <null> (impalad+0x30e3889)
#2 boost::thread::thread<void (*)(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), std::string, std::string, boost::function<void ()>,
impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*>(void
(*)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), std::string, std::string, boost::function<void ()>,
impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:420:13
(impalad+0x23e196b)
#3 impala::Thread::StartThread(std::string const&, std::string const&,
boost::function<void ()> const&, std::unique_ptr<impala::Thread,
std::default_delete<impala::Thread> >*, bool)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:317:13
(impalad+0x23deb35)
#4 impala::Status impala::Thread::Create<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> > > >(std::string const&, std::string const&,
boost::_bi::bind_t<void, boost::_mfi::mf1<void,
impala::ThreadPool<impala::HdfsOp>, int>,
boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::HdfsOp>*>,
boost::_bi::value<int> > > const&, std::unique_ptr<impala::Thread,
std::default_delete<impala::Thread> >*, bool)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.h:74:12
(impalad+0x1f87303)
#5 impala::ThreadPool<impala::HdfsOp>::Init()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread-pool.h:73:23
(impalad+0x1f7ad1f)
#6 impala::ExecEnv::Init()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/exec-env.cc:310:5
(impalad+0x1f74d57)
#7 ImpaladMain(int, char**)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/impalad-main.cc:73:3
(impalad+0x21a5047)
#8 main
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/daemon-main.cc:37:12
(impalad+0x19b860a)
Thread T337 (tid=24456, running) created by thread T335 at:
#0 pthread_create
/mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889
(impalad+0x194d8bb)
#1 boost::thread::start_thread_noexcept() <null> (impalad+0x30e3889)
#2 boost::thread::thread<void (*)(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), std::string, std::string, boost::function<void ()>,
impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*>(void
(*)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), std::string, std::string, boost::function<void ()>,
impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:420:13
(impalad+0x23e196b)
#3 impala::Thread::StartThread(std::string const&, std::string const&,
boost::function<void ()> const&, std::unique_ptr<impala::Thread,
std::default_delete<impala::Thread> >*, bool)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:317:13
(impalad+0x23deb35)
#4 impala::Status impala::Thread::Create<void
(impala::ClientRequestState::*)(), impala::ClientRequestState*>(std::string
const&, std::string const&, void (impala::ClientRequestState::* const&)(),
impala::ClientRequestState* const&, std::unique_ptr<impala::Thread,
std::default_delete<impala::Thread> >*, bool)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.h:81:12
(impalad+0x2219c57)
#5 impala::ClientRequestState::WaitAsync()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/client-request-state.cc:791:10
(impalad+0x2214404)
#6 impala::ImpalaServer::query(beeswax::QueryHandle&, beeswax::Query
const&)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/impala-beeswax-server.cc:74:34
(impalad+0x222dd00)
#7 beeswax::BeeswaxServiceProcessor::process_query(int,
apache::thrift::protocol::TProtocol*, apache::thrift::protocol::TProtocol*,
void*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/generated-sources/gen-cpp/BeeswaxService.cpp:3227:13
(impalad+0x278b514)
#8
beeswax::BeeswaxServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*,
apache::thrift::protocol::TProtocol*, std::string const&, int, void*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/generated-sources/gen-cpp/BeeswaxService.cpp:3200:3
(impalad+0x278b2fa)
#9
impala::ImpalaServiceProcessor::dispatchCall(apache::thrift::protocol::TProtocol*,
apache::thrift::protocol::TProtocol*, std::string const&, int, void*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/generated-sources/gen-cpp/ImpalaService.cpp:1824:49
(impalad+0x275746f)
#10
apache::thrift::TDispatchProcessor::process(boost::shared_ptr<apache::thrift::protocol::TProtocol>,
boost::shared_ptr<apache::thrift::protocol::TProtocol>, void*)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/thrift-0.9.3-p8/include/thrift/TDispatchProcessor.h:121:12
(impalad+0x19bad8e)
#11 apache::thrift::server::TAcceptQueueServer::Task::run()
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/rpc/TAcceptQueueServer.cpp:84:26
(impalad+0x1f33553)
#12
impala::ThriftThread::RunRunnable(boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long, (impala::PromiseMode)0>*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/rpc/thrift-thread.cc:74:13
(impalad+0x1f2794c)
#13 boost::_mfi::mf2<void, impala::ThriftThread,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long,
(impala::PromiseMode)0>*>::operator()(impala::ThriftThread*,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long, (impala::PromiseMode)0>*) const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:280:29
(impalad+0x1f294c9)
#14 void boost::_bi::list3<boost::_bi::value<impala::ThriftThread*>,
boost::_bi::value<boost::shared_ptr<apache::thrift::concurrency::Runnable> >,
boost::_bi::value<impala::Promise<unsigned long, (impala::PromiseMode)0>*>
>::operator()<boost::_mfi::mf2<void, impala::ThriftThread,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long, (impala::PromiseMode)0>*>,
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf2<void,
impala::ThriftThread, boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long, (impala::PromiseMode)0>*>&, boost::_bi::list0&,
int)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:398:9
(impalad+0x1f293dc)
#15 boost::_bi::bind_t<void, boost::_mfi::mf2<void, impala::ThriftThread,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long, (impala::PromiseMode)0>*>,
boost::_bi::list3<boost::_bi::value<impala::ThriftThread*>,
boost::_bi::value<boost::shared_ptr<apache::thrift::concurrency::Runnable> >,
boost::_bi::value<impala::Promise<unsigned long, (impala::PromiseMode)0>*> >
>::operator()()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
(impalad+0x1f29323)
#16
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,
boost::_mfi::mf2<void, impala::ThriftThread,
boost::shared_ptr<apache::thrift::concurrency::Runnable>,
impala::Promise<unsigned long, (impala::PromiseMode)0>*>,
boost::_bi::list3<boost::_bi::value<impala::ThriftThread*>,
boost::_bi::value<boost::shared_ptr<apache::thrift::concurrency::Runnable> >,
boost::_bi::value<impala::Promise<unsigned long, (impala::PromiseMode)0>*> > >,
void>::invoke(boost::detail::function::function_buffer&)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11
(impalad+0x1f29091)
#17 boost::function0<void>::operator()() const
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14
(impalad+0x1e192b1)
#18 impala::Thread::SuperviseThread(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*)
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3
(impalad+0x23df196)
#19 void boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*>
>::operator()<void (*)(std::string const&, std::string const&,
boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void
(*&)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list0&, int)
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9
(impalad+0x23e735c)
#20 boost::_bi::bind_t<void, void (*)(std::string const&, std::string
const&, boost::function<void ()>, impala::ThreadDebugInfo const*,
impala::Promise<long, (impala::PromiseMode)0>*),
boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> >
>::operator()()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16
(impalad+0x23e7273)
#21 boost::detail::thread_data<boost::_bi::bind_t<void, void
(*)(std::string const&, std::string const&, boost::function<void ()>,
impala::ThreadDebugInfo const*, impala::Promise<long,
(impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>,
boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >,
boost::_bi::value<impala::ThreadDebugInfo*>,
boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run()
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17
(impalad+0x23e6f60)
#22 thread_proxy <null> (impalad+0x30e44f9)SUMMARY: ThreadSanitizer: data
race
/data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/unordered/detail/unique.hpp:329:26
in
boost::unordered::detail::table_impl<boost::unordered::detail::map<std::allocator<std::pair<std::string
const, hdfs_internal*> >, std::string, hdfs_internal*,
boost::hash<std::string>, std::equal_to<std::string> >
>::add_node(boost::unordered::detail::node_constructor<std::allocator<boost::unordered::detail::ptr_node<std::pair<std::string
const, hdfs_internal*> > > >&, unsigned long){code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]