forked from facebook/rocksdb
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make filter_policy a mutable option, fix race
Summary: I wanted to make filter_policy a mutable option, but the SetOptions race fix proposed in facebook#10480 doesn't work for object options like filter_policy. (Race still reported.) I found that when the options objects are copied for persisting to file, the table factory (and thus options) is not copied, therefore leading to a race between persisting the options and subsequent updates with SetOptions(). It appears that fixing this fixes the race that was being reported with SetOptions() in the Fixes facebook#10079 Intended follow-up: See facebook#10021 Test Plan: unit test added, crash test updated with more SetOptions and higher probability of calling it. Ran TSAN blackbox crashtest for hours with options to amplify potential race (see facebook#10079)
- Loading branch information
1 parent
4b123f3
commit 33b989a
Showing
6 changed files
with
63 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Fixed a rare and probably not dangerous race condition in SetOptions for block_based_table_factory options. |