Alexey Serbin has submitted this change and it was merged. (
http://gerrit.cloudera.org:8080/21799 )
Change subject: [tablet] fix race condition in RowSetMetadata::GetAllBlocks()
......................................................................
[tablet] fix race condition in RowSetMetadata::GetAllBlocks()
The race condition was reported by the TSAN like the following
(with some information omitted):
WARNING: ThreadSanitizer: data race (pid=1924273)
Write of size 8 at 0x7b30002fe7c0 by thread T6 (mutexes: write M247597861,
write M247597860, write M247597300):
#0 std::__1::enable_if<(...), void>::type
std::__1::swap<kudu::BlockId*>(...)
thirdparty/installed/tsan/include/c++/v1/type_traits:4076:9
...
#4 kudu::tablet::RowSetMetadata::CommitRedoDeltaDataBlock(...)
src/kudu/tablet/rowset_metadata.cc:197:22
#5 kudu::tablet::DeltaTracker::FlushDMS(...)
src/kudu/tablet/delta_tracker.cc:826:23
#6 kudu::tablet::DeltaTracker::Flush(...)
src/kudu/tablet/delta_tracker.cc:877:14
#7 kudu::tablet::DiskRowSet::FlushDeltas(...)
src/kudu/tablet/diskrowset.cc:552:26
...
Previous read of size 8 at 0x7b30002fe7c0 by thread T34 (mutexes: write
M247598319, write M919714229363433616, write M303002710007881612):
#0 std::__1::vector<...>::size() const
thirdparty/installed/tsan/include/c++/v1/vector:658:61
#1 kudu::tablet::RowSetMetadata::GetAllBlocks() const
src/kudu/tablet/rowset_metadata.cc:306:37
#2 kudu::tablet::TabletMetadata::UpdateUnlocked(...)
src/kudu/tablet/tablet_metadata.cc:677:40
#3 kudu::tablet::TabletMetadata::UpdateAndFlush(...)
src/kudu/tablet/tablet_metadata.cc:549:5
#4 kudu::tablet::Tablet::FlushMetadata(...)
src/kudu/tablet/tablet.cc:1992:21
#5 kudu::tablet::Tablet::HandleEmptyCompactionOrFlush()
src/kudu/tablet/tablet.cc:2308:3
#6 kudu::tablet::Tablet::DeleteAncientDeletedRowsets()
src/kudu/tablet/tablet.cc:3084:3
...
Change-Id: I07103269526d0ee98b0bb19e76e11f7d47a5b217
Reviewed-on: http://gerrit.cloudera.org:8080/21799
Reviewed-by: Abhishek Chennaka <[email protected]>
Tested-by: Alexey Serbin <[email protected]>
---
M src/kudu/tablet/rowset_metadata.cc
1 file changed, 3 insertions(+), 1 deletion(-)
Approvals:
Abhishek Chennaka: Looks good to me, approved
Alexey Serbin: Verified
--
To view, visit http://gerrit.cloudera.org:8080/21799
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I07103269526d0ee98b0bb19e76e11f7d47a5b217
Gerrit-Change-Number: 21799
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)