-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using File System "Punch Hole" API for GC #313
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Yang Zhang <[email protected]>
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
@v01dstar Please add design doc PR for this large change. |
Signed-off-by: tonyxuqqi <[email protected]>
Signed-off-by: tonyxuqqi <[email protected]>
Signed-off-by: tonyxuqqi <[email protected]>
Signed-off-by: tonyxuqqi <[email protected]>
Signed-off-by: Yang Zhang <[email protected]>
Signed-off-by: Yang Zhang <[email protected]>
Signed-off-by: Yang Zhang <[email protected]>
Signed-off-by: Yang Zhang <[email protected]>
Signed-off-by: Yang Zhang <[email protected]>
Signed-off-by: Yang Zhang <[email protected]>
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
64929a4
to
ef34a73
Compare
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
Signed-off-by: v01dstar <[email protected]>
@@ -232,13 +234,11 @@ void TitanTableBuilder::FinishBlobFile() { | |||
AddBlobResultsToBase(contexts); | |||
|
|||
if (s.ok() && ok()) { | |||
TITAN_LOG_INFO(db_options_.info_log, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why remove
@@ -201,6 +201,8 @@ class TitanDB : public StackableDB { | |||
// "rocksdb.titandb.discardable_ratio_le100_file_num" - returns count of | |||
// file whose discardable ratio is less or equal to 100%. | |||
static const std::string kNumDiscardableRatioLE100File; | |||
|
|||
static const std::string kNumHolePunchableBlocks; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add the comment
@@ -319,7 +440,38 @@ Status TitanDBImpl::TEST_StartGC(uint32_t column_family_id) { | |||
bg_gc_running_++; | |||
bg_gc_scheduled_++; | |||
|
|||
s = BackgroundGC(&log_buffer, column_family_id); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why don't reuse BackgroundGC
anymore?
LogFlush(db_options_.info_log.get()); | ||
mutex_.Lock(); | ||
bool run_punch_hole_gc = false; | ||
if (scheduled_punch_hole_gc_ != nullptr && !punch_hole_gc_running_) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we separate the punch hole code path with the normal GC for brevity?
No description provided.