Commit 1104ee6
committed
[yugabyte#9934] [docdb] Don't update rocksdb_dir on Remote Bootstrap
Summary:
Data Race Issue on Remote Bootstrap with rocksdb_dir:
```
[ts-4] WARNING: ThreadSanitizer: data race (pid=8370)
[ts-4] Write of size 8 at 0x7b50002606a8 by thread T46 (mutexes: write M257685187220342284):
[ts-4] #0 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*, unsigned long) <null> (libc++.so.1+0xd5fa5)
[ts-4] #1 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) <null> (libc++.so.1+0xd5e8a)
[ts-4] #2 yb::tablet::KvStoreInfo::LoadFromPB(yb::tablet::KvStoreInfoPB const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tablet/tablet_metadata.cc:201:15 (libtablet.so+0x36795c)
[ts-4] #3 yb::tablet::RaftGroupMetadata::LoadFromSuperBlock(yb::tablet::RaftGroupReplicaSuperBlockPB const&) /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tablet/tablet_metadata.cc:525:5 (libtablet.so+0x36b36b)
[ts-4] #4 yb::tablet::RaftGroupMetadata::ReplaceSuperBlock(yb::tablet::RaftGroupReplicaSuperBlockPB const&) /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tablet/tablet_metadata.cc:586:3 (libtablet.so+0x36c078)
[ts-4] #5 yb::tserver::RemoteBootstrapClient::Finish() /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tserver/remote_bootstrap_client.cc:421:3 (libtserver.so+0x1d1699)
[ts-4] #6 yb::tserver::TSTabletManager::StartRemoteBootstrap(yb::consensus::StartRemoteBootstrapRequestPB const&) /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tserver/ts_tablet_manager.cc:1099:3 (libtserver.so+0x267088)
[ts-4] #7 yb::tserver::ConsensusServiceImpl::StartRemoteBootstrap(yb::consensus::StartRemoteBootstrapRequestPB const*, yb::consensus::StartRemoteBootstrapResponsePB*, yb::rpc::RpcContext) /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tserver/tablet_service.cc:2767:31 (libtserver.so+0x21844b)
```
```
[ts-4] Previous read of size 8 at 0x7b50002606a8 by thread T21:
[ts-4] #0 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__get_long_size() const /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210813185027-9a29e26965-centos7-x86_64-clang7/installed/tsan/libcxx/include/c++/v1/string:1468:34 (libtablet.so+0x36d6a2)
[ts-4] #1 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::size() const /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210813185027-9a29e26965-centos7-x86_64-clang7/installed/tsan/libcxx/include/c++/v1/string:941 (libtablet.so+0x36d6a2)
[ts-4] #2 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::empty() const /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210813185027-9a29e26965-centos7-x86_64-clang7/installed/tsan/libcxx/include/c++/v1/string:957 (libtablet.so+0x36d6a2)
[ts-4] #3 yb::tablet::RaftGroupMetadata::data_root_dir() const /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tablet/tablet_metadata.cc:773 (libtablet.so+0x36d6a2)
[ts-4] #4 yb::tserver::TSTabletManager::CreateReportedTabletPB(std::__1::shared_ptr<yb::tablet::TabletPeer> const&, yb::master::ReportedTabletPB*) /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tserver/ts_tablet_manager.cc:1840:68 (libtserver.so+0x26c6a2)
[ts-4] #5 yb::tserver::TSTabletManager::GenerateTabletReport(yb::master::TabletReportPB*, bool) /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tserver/ts_tablet_manager.cc:1925:5 (libtserver.so+0x26d072)
[ts-4] #6 yb::tserver::Heartbeater::Thread::TryHeartbeat() /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tserver/heartbeater.cc:371:32 (libtserver.so+0x1a2331)
[ts-4] #7 yb::tserver::Heartbeater::Thread::DoHeartbeat() /nfusr/centos-gcp-cloud/jenkins-worker-r2ttyq/jenkins/jenkins-github-yugabyte-db-centos-master-clang7-tsan-339/build/tsan-clang7-dynamic-ninja/../../src/yb/tserver/heartbeater.cc:530:19 (libtserver.so+0x1a3678)
```
Test Plan:
ybd tsan --gtest_filter LoadBalancerMultiTableTest.GlobalLeaderBalancing
ybd tsan --gtest_filter LoadBalancerMultiTableTest.GlobalLoadBalancing
Reviewers: sergei
Reviewed By: sergei
Subscribers: ybase, bogdan
Differential Revision: https://phabricator.dev.yugabyte.com/D129061 parent 04e23a5 commit 1104ee6
File tree
3 files changed
+25
-15
lines changed- src/yb
- tablet
- tserver
3 files changed
+25
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
196 | 196 | | |
197 | 197 | | |
198 | 198 | | |
199 | | - | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
200 | 202 | | |
201 | | - | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
202 | 206 | | |
203 | 207 | | |
204 | 208 | | |
| |||
489 | 493 | | |
490 | 494 | | |
491 | 495 | | |
492 | | - | |
| 496 | + | |
493 | 497 | | |
494 | 498 | | |
495 | 499 | | |
496 | 500 | | |
497 | 501 | | |
498 | | - | |
| 502 | + | |
| 503 | + | |
499 | 504 | | |
500 | 505 | | |
501 | 506 | | |
502 | 507 | | |
503 | | - | |
| 508 | + | |
504 | 509 | | |
505 | 510 | | |
506 | 511 | | |
| |||
522 | 527 | | |
523 | 528 | | |
524 | 529 | | |
525 | | - | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
526 | 533 | | |
527 | 534 | | |
528 | 535 | | |
| |||
571 | 578 | | |
572 | 579 | | |
573 | 580 | | |
574 | | - | |
| 581 | + | |
575 | 582 | | |
576 | 583 | | |
577 | 584 | | |
| |||
580 | 587 | | |
581 | 588 | | |
582 | 589 | | |
583 | | - | |
| 590 | + | |
584 | 591 | | |
585 | 592 | | |
586 | | - | |
| 593 | + | |
587 | 594 | | |
588 | 595 | | |
589 | 596 | | |
590 | 597 | | |
591 | 598 | | |
592 | | - | |
| 599 | + | |
593 | 600 | | |
594 | 601 | | |
595 | 602 | | |
| |||
966 | 973 | | |
967 | 974 | | |
968 | 975 | | |
969 | | - | |
| 976 | + | |
970 | 977 | | |
971 | 978 | | |
972 | 979 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
137 | | - | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
138 | 140 | | |
139 | 141 | | |
140 | 142 | | |
| |||
529 | 531 | | |
530 | 532 | | |
531 | 533 | | |
532 | | - | |
| 534 | + | |
| 535 | + | |
533 | 536 | | |
534 | 537 | | |
535 | 538 | | |
536 | 539 | | |
537 | 540 | | |
538 | | - | |
| 541 | + | |
539 | 542 | | |
540 | 543 | | |
541 | 544 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
409 | 409 | | |
410 | 410 | | |
411 | 411 | | |
412 | | - | |
| 412 | + | |
413 | 413 | | |
414 | 414 | | |
415 | 415 | | |
| |||
0 commit comments