Revision a0deec960f3a8190831c673e5ba998fe6fb7ea90 authored by Changli Gao on 21 November 2016, 02:14:33 UTC, committed by Facebook Github Bot on 21 November 2016, 02:24:12 UTC
Summary: When calling StatisticsImpl::HistogramInfo::getMergedHistogram(), if there is a dying thread, which is calling ThreadLocalPtr::StaticMeta::OnThreadExit() to merge its thread values to HistogramInfo, deadlock will occur. Because the former try to hold merge_lock then ThreadMeta::mutex_, but the later try to hold ThreadMeta::mutex_ then merge_lock. In short, the locking order isn't the same. This patch addressed this issue by releasing merge_lock before folding thread values. Closes https://github.com/facebook/rocksdb/pull/1552 Differential Revision: D4211942 Pulled By: ajkr fbshipit-source-id: ef89bcb
1 parent fe349db
File | Mode | Size |
---|---|---|
hash_cuckoo_rep.cc | -rw-r--r-- | 24.8 KB |
hash_cuckoo_rep.h | -rw-r--r-- | 1.6 KB |
hash_linklist_rep.cc | -rw-r--r-- | 29.4 KB |
hash_linklist_rep.h | -rw-r--r-- | 1.8 KB |
hash_skiplist_rep.cc | -rw-r--r-- | 11.2 KB |
hash_skiplist_rep.h | -rw-r--r-- | 1.4 KB |
skiplistrep.cc | -rw-r--r-- | 8.6 KB |
stl_wrappers.h | -rw-r--r-- | 923 bytes |
vectorrep.cc | -rw-r--r-- | 9.0 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...