swh:1:snp:5115096b921df712aeb2a08114fede57fb3331fb
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
History
Tip revision: 19076c95aa2bcee55c26fcf0960cc844ad86ee9c authored by Levi Tamasi on 21 January 2021, 22:18:25 UTC
Update HISTORY.md for PR 7888 (#7890)
Tip revision: 19076c9
File Mode Size
arcanist_util
build_tools
cmake
coverage
db
docs
examples
hdfs
include
java
memtable
port
table
third-party
tools
util
utilities
.arcconfig -rw-r--r-- 566 bytes
.clang-format -rw-r--r-- 138 bytes
.gitignore -rw-r--r-- 687 bytes
.travis.yml -rw-r--r-- 1.5 KB
AUTHORS -rw-r--r-- 247 bytes
CMakeLists.txt -rw-r--r-- 23.6 KB
CONTRIBUTING.md -rw-r--r-- 733 bytes
DEFAULT_OPTIONS_HISTORY.md -rw-r--r-- 1.1 KB
DUMP_FORMAT.md -rw-r--r-- 763 bytes
HISTORY.md -rw-r--r-- 38.3 KB
INSTALL.md -rw-r--r-- 3.9 KB
LANGUAGE-BINDINGS.md -rw-r--r-- 646 bytes
LICENSE -rw-r--r-- 1.6 KB
Makefile -rw-r--r-- 49.7 KB
PATENTS -rw-r--r-- 1.9 KB
README.md -rw-r--r-- 1.4 KB
ROCKSDB_LITE.md -rw-r--r-- 1.0 KB
USERS.md -rw-r--r-- 4.5 KB
Vagrantfile -rw-r--r-- 877 bytes
WINDOWS_PORT.md -rw-r--r-- 12.5 KB
appveyor.yml -rw-r--r-- 555 bytes
src.mk -rw-r--r-- 23.8 KB
thirdparty.inc -rw-r--r-- 7.8 KB

README.md

back to top