Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-3578 De-flaking effort
  3. KUDU-3599

tablet_copy_service-test is flaky in TSAN builds

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.18.0
    • None
    • None

    Description

      TSAN reports data races. The entire trace is attached. The following is a snippet of the trace:

      WARNING: ThreadSanitizer: data race (pid=20262)
        Read of size 8 at 0x7b580003adb8 by thread T58 (mutexes: write M867641427390348624):
          #0 kudu::MonoTime::Initialized() const /home/jenkins-slave/workspace/build_and_test@2/src/kudu/util/monotime.cc:202:10 (libkudu_util.so+0x3d7b79)
          #1 kudu::tserver::RemoteTabletCopySourceSession::UpdateTabletMetrics() /home/jenkins-slave/workspace/build_and_test@2/src/kudu/tserver/tablet_copy_source_session.cc:518:7 (libtserver.so+0x249407)
          #2 kudu::tserver::TabletCopyServiceImpl::DoEndTabletCopySessionUnlocked(std::_1::basic_string<char, std::1::char_traits<char>, std::_1::allocator<char> > const&, kudu::tserver::TabletCopyErrorPB_Code*) /home/jenkins-slave/workspace/build_and_test@2/src/kudu/tserver/tablet_copy_service.cc:431:12 (libtserver.so+0x23b567)
          #3 kudu::tserver::TabletCopyServiceImpl::EndExpiredSessions() /home/jenkins-slave/workspace/build_and_test@2/src/kudu/tserver/tablet_copy_service.cc:461:7 (libtserver.so+0x23ca63)
          #4 kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0::operator()() const /home/jenkins-slave/workspace/build_and_test@2/src/kudu/tserver/tablet_copy_service.cc:115:3 (libtserver.so+0x23dd01)
          #5 decltype(std::_1::forward<kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0&>(fp)()) std::1::_invoke<kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0&>(kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0&) /home/jenkins-slave/workspace/build_and_test@2/thirdparty/installed/tsan/include/c++/v1/type_traits:3899:1 (libtserver.so+0x23dcb9)
          #6 void std::_1::invoke_void_return_wrapper<void>::call<kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0&>(kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0&) /home/jenkins-slave/workspace/build_and_test@2/thirdparty/installed/tsan/include/c++/v1/_functional_base:348:9 (libtserver.so+0x23dc49)
          #7 std::_1::function::alloc_func<kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0, std::_1::allocator<kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0>, void ()>::operator()() /home/jenkins-slave/workspace/build_and_test@2/thirdparty/installed/tsan/include/c++/v1/functional:1557:16 (libtserver.so+0x23dc11)
          #8 std::_1::function::func<kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0, std::_1::allocator<kudu::tserver::TabletCopyServiceImpl::TabletCopyServiceImpl(kudu::server::ServerBase*, kudu::tserver::TabletReplicaLookupIf*)::$_0>, void ()>::operator()() /home/jenkins-slave/workspace/build_and_test@2/thirdparty/installed/tsan/include/c++/v1/functional:1731:12 (libtserver.so+0x23cf0d)
          #9 std::_1::function::_value_func<void ()>::operator()() const /home/jenkins-slave/workspace/build_and_test@2/thirdparty/installed/tsan/include/c++/v1/functional:1884:16 (libtserver_test_util.so+0x601a4)
          #10 std::__1::function<void ()>::operator()() const /home/jenkins-slave/workspace/build_and_test@2/thirdparty/installed/tsan/include/c++/v1/functional:2556:12 (libtserver_test_util.so+0x5ffd9)
          #11 kudu::Thread::SuperviseThread(void*) /home/jenkins-slave/workspace/build_and_test@2/src/kudu/util/thread.cc:694:3 (libkudu_util.so+0x449546)

      Attachments

        1. tablet_copy_service-test.txt.gz
          21 kB
          Mahesh Reddy

        Activity

          People

            Unassigned Unassigned
            mreddy Mahesh Reddy
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: