Skip to content

Commit

Permalink
feat(replica): parameterize-fileddatatype
Browse files Browse the repository at this point in the history
  • Loading branch information
Samunroyu committed Dec 5, 2023
1 parent 2bfe595 commit e89e3fa
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
6 changes: 3 additions & 3 deletions src/replica/replication_app_base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,8 @@
#include "utils/binary_reader.h"
#include "utils/binary_writer.h"
#include "utils/blob.h"
#include "utils/defer.h"
#include "utils/factory_store.h"
#include "utils/fail_point.h"
#include "utils/filesystem.h"
#include "utils/fmt_logging.h"
#include "utils/latency_tracer.h"
#include "absl/strings/string_view.h"
Expand Down Expand Up @@ -112,7 +110,9 @@ error_code replica_init_info::load_json(const std::string &fname)

error_code replica_init_info::store_json(const std::string &fname)
{
return write_blob_to_file(fname, json::json_forwarder<replica_init_info>::encode(*this), dsn::utils::FileDataType &kSensitive);
return write_blob_to_file(fname,
json::json_forwarder<replica_init_info>::encode(*this),
dsn::utils::FileDataType::kSensitive);
}

std::string replica_init_info::to_string()
Expand Down
17 changes: 10 additions & 7 deletions src/replica/replication_app_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,11 @@
#include "metadata_types.h"
#include "replica/replica_base.h"
#include "replica_admin_types.h"
#include "utils/defer.h"
#include "utils/env.h"
#include "utils/error_code.h"
#include "utils/fmt_utils.h"
#include "utils/filesystem.h"
#include "utils/ports.h"

namespace dsn {
Expand All @@ -54,17 +56,18 @@ class learn_state;
class mutation;
class replica;

namespace{
namespace {
template <class T>
error_code write_blob_to_file(const std::string &fname, const T &data, const dsn::utils::FileDataType &fileDataType)
error_code write_blob_to_file(const std::string &fname,
const T &data,
const dsn::utils::FileDataType &fileDataType)
{
std::string tmp_fname = fname + ".tmp";
auto cleanup = defer([tmp_fname]() { utils::filesystem::remove_path(tmp_fname); });
auto s =
rocksdb::WriteStringToFile(dsn::utils::PegasusEnv(fileDataType),
rocksdb::Slice(data.data(), data.length()),
tmp_fname,
/* should_sync */ true);
auto s = rocksdb::WriteStringToFile(dsn::utils::PegasusEnv(fileDataType),
rocksdb::Slice(data.data(), data.length()),
tmp_fname,
/* should_sync */ true);
LOG_AND_RETURN_NOT_TRUE(
ERROR, s.ok(), ERR_FILE_OPERATION_FAILED, "write file {} failed", tmp_fname);
LOG_AND_RETURN_NOT_TRUE(ERROR,
Expand Down

0 comments on commit e89e3fa

Please sign in to comment.