Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/14177 )

Change subject: KUDU-2780: create thread for auto-rebalancing
......................................................................


Patch Set 22:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/14177/22/src/kudu/master/auto_rebalancer-test.cc
File src/kudu/master/auto_rebalancer-test.cc:

http://gerrit.cloudera.org:8080/#/c/14177/22/src/kudu/master/auto_rebalancer-test.cc@513
PS22, Line 513:   ScopedRegisterSink reg(&capture_logs);
              :
              :   // Bring up a new tserver.
              :   ASSERT_OK(cluster_->AddTabletServer());
              :
              :   // The TSManager should still believe the original tservers 
are available,
              :   // so the auto-rebalancer should attempt to schedule replica 
moves from those
              :   // tservers to the new one.
              :   NO_FATALS(CheckSomeMovesScheduled());
Based on the TSAN error, seems like we might want to have 'reg' go out of scope 
before reading 'capture_logs'.

  Read of size 8 at 0x7ffcce5306c8 by main thread:
    #0 std::__1::vector<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >, 
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > > >::end() const 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/installed/tsan/include/c++/v1/vector:1539:30
 (auto_rebalancer-test+0x4fb40a)
    #1 
kudu::master::AutoRebalancerTest_TestHandlingFailedTservers_Test::TestBody() 
/home/jenkins-slave/workspace/kudu-master/2/src/kudu/master/auto_rebalancer-test.cc:522:3
 (auto_rebalancer-test+0x4f3826)
    #2 void 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, 
void>(testing::Test*, void (testing::Test::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
 (libgmock.so+0x54f9f)
    #3 void 
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, 
void>(testing::Test*, void (testing::Test::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438:14
 (libgmock.so+0x54f9f)
    #4 testing::Test::Run() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2474:5
 (libgmock.so+0x33f38)
    #5 testing::TestInfo::Run() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2656:11
 (libgmock.so+0x351dc)
    #6 testing::TestCase::Run() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2774:28
 (libgmock.so+0x35ef6)
    #7 testing::internal::UnitTestImpl::RunAllTests() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4649:43
 (libgmock.so+0x423a6)
    #8 bool 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool>(testing::internal::UnitTestImpl*, bool 
(testing::internal::UnitTestImpl::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
 (libgmock.so+0x55e4f)
    #9 bool 
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool>(testing::internal::UnitTestImpl*, bool 
(testing::internal::UnitTestImpl::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438:14
 (libgmock.so+0x55e4f)
    #10 testing::UnitTest::Run() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4257:10
 (libgmock.so+0x41c61)
    #11 RUN_ALL_TESTS() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/installed/tsan/include/gtest/gtest.h:2233:46
 (libkudu_test_main.so+0x47bb)
    #12 main 
/home/jenkins-slave/workspace/kudu-master/2/src/kudu/util/test_main.cc:106:13 
(libkudu_test_main.so+0x3636)

  Previous write of size 8 at 0x7ffcce5306c8 by thread T127 (mutexes: write 
M114, read M118):
    #0 std::__1::vector<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >, 
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > > >::push_back(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >&&) 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/installed/tsan/include/c++/v1/vector:1660:9
 (auto_rebalancer-test+0x50bc55)
    #1 kudu::StringVectorSink::send(int, char const*, char const*, int, tm 
const*, char const*, unsigned long) 
/home/jenkins-slave/workspace/kudu-master/2/src/kudu/util/logging_test_util.h:34:18
 (auto_rebalancer-test+0x50ba29)
    #2 google::LogDestination::LogToSinks(int, char const*, char const*, int, 
tm const*, char const*, unsigned long) 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/glog-0.3.5/src/logging.cc:790:21
 (libglog.so.0+0x1675d)
    #3 google::LogMessage::SendToLog() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/glog-0.3.5/src/logging.cc:1379:5
 (libglog.so.0+0xe1c2)
    #4 google::LogMessage::Flush() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/glog-0.3.5/src/logging.cc:1311:5
 (libglog.so.0+0xf211)
    #5 google::LogMessage::~LogMessage() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/src/glog-0.3.5/src/logging.cc:1270:3
 (libglog.so.0+0xefae)
    #6 
kudu::tserver::Heartbeater::Thread::DoHeartbeat(kudu::master::MasterErrorPB*, 
kudu::rpc::ErrorStatusPB*) 
/home/jenkins-slave/workspace/kudu-master/2/src/kudu/tserver/heartbeater.cc:449:5
 (libtserver.so+0xef4c0)
    #7 kudu::tserver::Heartbeater::Thread::RunThread() 
/home/jenkins-slave/workspace/kudu-master/2/src/kudu/tserver/heartbeater.cc:570:21
 (libtserver.so+0xf06f1)
    #8 boost::_mfi::mf0<void, 
kudu::tserver::Heartbeater::Thread>::operator()(kudu::tserver::Heartbeater::Thread*)
 const 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/installed/tsan/include/boost/bind/mem_fn_template.hpp:49:29
 (libtserver.so+0x105db9)
    #9 void 
boost::_bi::list1<boost::_bi::value<kudu::tserver::Heartbeater::Thread*> 
>::operator()<boost::_mfi::mf0<void, kudu::tserver::Heartbeater::Thread>, 
boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, 
kudu::tserver::Heartbeater::Thread>&, boost::_bi::list0&, int) 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/installed/tsan/include/boost/bind/bind.hpp:259:9
 (libtserver.so+0x105d0a)
    #10 boost::_bi::bind_t<void, boost::_mfi::mf0<void, 
kudu::tserver::Heartbeater::Thread>, 
boost::_bi::list1<boost::_bi::value<kudu::tserver::Heartbeater::Thread*> > 
>::operator()() 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/installed/tsan/include/boost/bind/bind.hpp:1222:16
 (libtserver.so+0x105c73)
    #11 
boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, 
boost::_mfi::mf0<void, kudu::tserver::Heartbeater::Thread>, 
boost::_bi::list1<boost::_bi::value<kudu::tserver::Heartbeater::Thread*> > >, 
void>::invoke(boost::detail::function::function_buffer&) 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/installed/tsan/include/boost/function/function_template.hpp:159:11
 (libtserver.so+0x105a29)
    #12 boost::function0<void>::operator()() const 
/home/jenkins-slave/workspace/kudu-master/2/thirdparty/installed/tsan/include/boost/function/function_template.hpp:770:14
 (libkrpc.so+0xfce41)
    #13 kudu::Thread::SuperviseThread(void*) 
/home/jenkins-slave/workspace/kudu-master/2/src/kudu/util/thread.cc:675:3 
(libkudu_util.so+0x2d263a)



--
To view, visit http://gerrit.cloudera.org:8080/14177
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ifca25d1063c07047cf2123e6792b3c7395be20e4
Gerrit-Change-Number: 14177
Gerrit-PatchSet: 22
Gerrit-Owner: Hannah Nguyen <hannah.ngu...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Hannah Nguyen <hannah.ngu...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Sun, 15 Mar 2020 01:17:48 +0000
Gerrit-HasComments: Yes

Reply via email to