Summary: Closes https://github.com/facebook/rocksdb/pull/2589 Differential Revision: D5431502 Pulled By: siying fbshipit-source-id: 8ebf8c87883daa9daa54b2303d11ce01ab1f6f75
77 lines
2.0 KiB
C++
77 lines
2.0 KiB
C++
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under both the GPLv2 (found in the
|
|
// COPYING file in the root directory) and Apache 2.0 License
|
|
// (found in the LICENSE.Apache file in the root directory).
|
|
|
|
#pragma once
|
|
|
|
#ifndef ROCKSDB_LITE
|
|
|
|
#include "utilities/blob_db/blob_db.h"
|
|
|
|
namespace rocksdb {
|
|
|
|
namespace blob_db {
|
|
|
|
struct BlobDBOptionsImpl : public BlobDBOptions {
|
|
// deletions check period
|
|
uint32_t deletion_check_period_millisecs;
|
|
|
|
// gc percentage each check period
|
|
uint32_t gc_file_pct;
|
|
|
|
// gc period
|
|
uint32_t gc_check_period_millisecs;
|
|
|
|
// sanity check task
|
|
uint32_t sanity_check_period_millisecs;
|
|
|
|
// how many random access open files can we tolerate
|
|
uint32_t open_files_trigger;
|
|
|
|
// how many periods of stats do we keep.
|
|
uint32_t wa_num_stats_periods;
|
|
|
|
// what is the length of any period
|
|
uint32_t wa_stats_period_millisecs;
|
|
|
|
// we will garbage collect blob files in
|
|
// which entire files have expired. However if the
|
|
// ttl_range of files is very large say a day, we
|
|
// would have to wait for the entire day, before we
|
|
// recover most of the space.
|
|
uint32_t partial_expiration_gc_range_secs;
|
|
|
|
// this should be based on allowed Write Amplification
|
|
// if 50% of the space of a blob file has been deleted/expired,
|
|
uint32_t partial_expiration_pct;
|
|
|
|
// how often should we schedule a job to fsync open files
|
|
uint32_t fsync_files_period_millisecs;
|
|
|
|
// how often to schedule reclaim open files.
|
|
uint32_t reclaim_of_period_millisecs;
|
|
|
|
// how often to schedule delete obs files periods
|
|
uint32_t delete_obsf_period_millisecs;
|
|
|
|
// how often to schedule check seq files period
|
|
uint32_t check_seqf_period_millisecs;
|
|
|
|
// Disable all background job.
|
|
bool disable_background_tasks;
|
|
|
|
// default constructor
|
|
BlobDBOptionsImpl();
|
|
|
|
explicit BlobDBOptionsImpl(const BlobDBOptions& in);
|
|
|
|
BlobDBOptionsImpl& operator=(const BlobDBOptionsImpl& in);
|
|
};
|
|
|
|
} // namespace blob_db
|
|
|
|
} // namespace rocksdb
|
|
|
|
#endif // endif ROCKSDB
|