replace some reinterpret_cast with static_cast_with_check (#5740)
Summary: This PR focuses on replacing some of the reinterpret_cast<DBImpl*> to static_cast_with_check<DBImpl, DB>. Files impacted: ./db/db_impl/db_impl_compaction_flush.cc ./db/write_batch.cc ./utilities/blob_db/blob_db_impl.cc ./utilities/transactions/pessimistic_transaction_db.cc ./utilities/transactions/transaction_base.cc ./utilities/transactions/write_prepared_txn_db.cc ./utilities/transactions/write_unprepared_txn_db.cc Pull Request resolved: https://github.com/facebook/rocksdb/pull/5740 Differential Revision: D17055691 Pulled By: pdhandharia fbshipit-source-id: 0f8034d1b32eade56e37d59c04b7bf236a81d8e8
This commit is contained in:
parent
1d6a10f52d
commit
1b4c104a67
@ -19,6 +19,7 @@
|
|||||||
#include "monitoring/thread_status_updater.h"
|
#include "monitoring/thread_status_updater.h"
|
||||||
#include "monitoring/thread_status_util.h"
|
#include "monitoring/thread_status_util.h"
|
||||||
#include "test_util/sync_point.h"
|
#include "test_util/sync_point.h"
|
||||||
|
#include "util/cast_util.h"
|
||||||
#include "util/concurrent_task_limiter_impl.h"
|
#include "util/concurrent_task_limiter_impl.h"
|
||||||
|
|
||||||
namespace rocksdb {
|
namespace rocksdb {
|
||||||
@ -2072,7 +2073,8 @@ void DBImpl::BGWorkFlush(void* arg) {
|
|||||||
|
|
||||||
IOSTATS_SET_THREAD_POOL_ID(fta.thread_pri_);
|
IOSTATS_SET_THREAD_POOL_ID(fta.thread_pri_);
|
||||||
TEST_SYNC_POINT("DBImpl::BGWorkFlush");
|
TEST_SYNC_POINT("DBImpl::BGWorkFlush");
|
||||||
reinterpret_cast<DBImpl*>(fta.db_)->BackgroundCallFlush(fta.thread_pri_);
|
static_cast_with_check<DBImpl, DB>(fta.db_)->BackgroundCallFlush(
|
||||||
|
fta.thread_pri_);
|
||||||
TEST_SYNC_POINT("DBImpl::BGWorkFlush:done");
|
TEST_SYNC_POINT("DBImpl::BGWorkFlush:done");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2083,7 +2085,7 @@ void DBImpl::BGWorkCompaction(void* arg) {
|
|||||||
TEST_SYNC_POINT("DBImpl::BGWorkCompaction");
|
TEST_SYNC_POINT("DBImpl::BGWorkCompaction");
|
||||||
auto prepicked_compaction =
|
auto prepicked_compaction =
|
||||||
static_cast<PrepickedCompaction*>(ca.prepicked_compaction);
|
static_cast<PrepickedCompaction*>(ca.prepicked_compaction);
|
||||||
reinterpret_cast<DBImpl*>(ca.db)->BackgroundCallCompaction(
|
static_cast_with_check<DBImpl, DB>(ca.db)->BackgroundCallCompaction(
|
||||||
prepicked_compaction, Env::Priority::LOW);
|
prepicked_compaction, Env::Priority::LOW);
|
||||||
delete prepicked_compaction;
|
delete prepicked_compaction;
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,7 @@
|
|||||||
#include "monitoring/statistics.h"
|
#include "monitoring/statistics.h"
|
||||||
#include "rocksdb/merge_operator.h"
|
#include "rocksdb/merge_operator.h"
|
||||||
#include "util/autovector.h"
|
#include "util/autovector.h"
|
||||||
|
#include "util/cast_util.h"
|
||||||
#include "util/coding.h"
|
#include "util/coding.h"
|
||||||
#include "util/duplicate_detector.h"
|
#include "util/duplicate_detector.h"
|
||||||
#include "util/string_util.h"
|
#include "util/string_util.h"
|
||||||
@ -1265,7 +1266,7 @@ class MemTableInserter : public WriteBatch::Handler {
|
|||||||
ignore_missing_column_families_(ignore_missing_column_families),
|
ignore_missing_column_families_(ignore_missing_column_families),
|
||||||
recovering_log_number_(recovering_log_number),
|
recovering_log_number_(recovering_log_number),
|
||||||
log_number_ref_(0),
|
log_number_ref_(0),
|
||||||
db_(reinterpret_cast<DBImpl*>(db)),
|
db_(static_cast_with_check<DBImpl, DB>(db)),
|
||||||
concurrent_memtable_writes_(concurrent_memtable_writes),
|
concurrent_memtable_writes_(concurrent_memtable_writes),
|
||||||
post_info_created_(false),
|
post_info_created_(false),
|
||||||
has_valid_writes_(has_valid_writes),
|
has_valid_writes_(has_valid_writes),
|
||||||
|
@ -1431,7 +1431,7 @@ class BlobDBImpl::GarbageCollectionWriteCallback : public WriteCallback {
|
|||||||
: cfd_(cfd), key_(key), upper_bound_(upper_bound) {}
|
: cfd_(cfd), key_(key), upper_bound_(upper_bound) {}
|
||||||
|
|
||||||
Status Callback(DB* db) override {
|
Status Callback(DB* db) override {
|
||||||
auto* db_impl = reinterpret_cast<DBImpl*>(db);
|
auto* db_impl = static_cast_with_check<DBImpl, DB>(db);
|
||||||
auto* sv = db_impl->GetAndRefSuperVersion(cfd_);
|
auto* sv = db_impl->GetAndRefSuperVersion(cfd_);
|
||||||
SequenceNumber latest_seq = 0;
|
SequenceNumber latest_seq = 0;
|
||||||
bool found_record_for_key = false;
|
bool found_record_for_key = false;
|
||||||
|
@ -113,7 +113,7 @@ Status PessimisticTransactionDB::Initialize(
|
|||||||
Status s = EnableAutoCompaction(compaction_enabled_cf_handles);
|
Status s = EnableAutoCompaction(compaction_enabled_cf_handles);
|
||||||
|
|
||||||
// create 'real' transactions from recovered shell transactions
|
// create 'real' transactions from recovered shell transactions
|
||||||
auto dbimpl = reinterpret_cast<DBImpl*>(GetRootDB());
|
auto dbimpl = static_cast_with_check<DBImpl, DB>(GetRootDB());
|
||||||
assert(dbimpl != nullptr);
|
assert(dbimpl != nullptr);
|
||||||
auto rtrxs = dbimpl->recovered_transactions();
|
auto rtrxs = dbimpl->recovered_transactions();
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#include "rocksdb/comparator.h"
|
#include "rocksdb/comparator.h"
|
||||||
#include "rocksdb/db.h"
|
#include "rocksdb/db.h"
|
||||||
#include "rocksdb/status.h"
|
#include "rocksdb/status.h"
|
||||||
|
#include "util/cast_util.h"
|
||||||
#include "util/string_util.h"
|
#include "util/string_util.h"
|
||||||
|
|
||||||
namespace rocksdb {
|
namespace rocksdb {
|
||||||
@ -21,7 +22,7 @@ namespace rocksdb {
|
|||||||
TransactionBaseImpl::TransactionBaseImpl(DB* db,
|
TransactionBaseImpl::TransactionBaseImpl(DB* db,
|
||||||
const WriteOptions& write_options)
|
const WriteOptions& write_options)
|
||||||
: db_(db),
|
: db_(db),
|
||||||
dbimpl_(reinterpret_cast<DBImpl*>(db)),
|
dbimpl_(static_cast_with_check<DBImpl, DB>(db)),
|
||||||
write_options_(write_options),
|
write_options_(write_options),
|
||||||
cmp_(GetColumnFamilyUserComparator(db->DefaultColumnFamily())),
|
cmp_(GetColumnFamilyUserComparator(db->DefaultColumnFamily())),
|
||||||
start_time_(db_->GetEnv()->NowMicros()),
|
start_time_(db_->GetEnv()->NowMicros()),
|
||||||
|
@ -29,7 +29,7 @@ namespace rocksdb {
|
|||||||
Status WritePreparedTxnDB::Initialize(
|
Status WritePreparedTxnDB::Initialize(
|
||||||
const std::vector<size_t>& compaction_enabled_cf_indices,
|
const std::vector<size_t>& compaction_enabled_cf_indices,
|
||||||
const std::vector<ColumnFamilyHandle*>& handles) {
|
const std::vector<ColumnFamilyHandle*>& handles) {
|
||||||
auto dbimpl = reinterpret_cast<DBImpl*>(GetRootDB());
|
auto dbimpl = static_cast_with_check<DBImpl, DB>(GetRootDB());
|
||||||
assert(dbimpl != nullptr);
|
assert(dbimpl != nullptr);
|
||||||
auto rtxns = dbimpl->recovered_transactions();
|
auto rtxns = dbimpl->recovered_transactions();
|
||||||
std::map<SequenceNumber, SequenceNumber> ordered_seq_cnt;
|
std::map<SequenceNumber, SequenceNumber> ordered_seq_cnt;
|
||||||
|
@ -179,7 +179,7 @@ Status WriteUnpreparedTxnDB::Initialize(
|
|||||||
const std::vector<size_t>& compaction_enabled_cf_indices,
|
const std::vector<size_t>& compaction_enabled_cf_indices,
|
||||||
const std::vector<ColumnFamilyHandle*>& handles) {
|
const std::vector<ColumnFamilyHandle*>& handles) {
|
||||||
// TODO(lth): Reduce code duplication in this function.
|
// TODO(lth): Reduce code duplication in this function.
|
||||||
auto dbimpl = reinterpret_cast<DBImpl*>(GetRootDB());
|
auto dbimpl = static_cast_with_check<DBImpl, DB>(GetRootDB());
|
||||||
assert(dbimpl != nullptr);
|
assert(dbimpl != nullptr);
|
||||||
|
|
||||||
db_impl_->SetSnapshotChecker(new WritePreparedSnapshotChecker(this));
|
db_impl_->SetSnapshotChecker(new WritePreparedSnapshotChecker(this));
|
||||||
|
Loading…
Reference in New Issue
Block a user