Skip to content

Commit 093ac9b

Browse files
committed
[refactor][cache] Remove mds-v1 related code.
1 parent 6878a1f commit 093ac9b

File tree

11 files changed

+59
-145
lines changed

11 files changed

+59
-145
lines changed

conf/client.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ disk_state.check_duration_ms=3000
4141
#### remote cache
4242
# {
4343
remote_cache.cache_group=
44-
remote_cache.mds_version=v2
4544
remote_cache.mds_addrs=127.0.0.1:6900
4645
remote_cache.mds_rpc_timeout_ms=3000
4746
remote_cache.mds_rpc_retry_times=1

src/cache/benchmark/benchmarker.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,13 @@
2929
#include "cache/common/type.h"
3030
#include "cache/storage/storage_pool.h"
3131
#include "cache/tiercache/tier_block_cache.h"
32+
#include "options/cache/option.h"
3233

3334
namespace dingofs {
3435
namespace cache {
3536

3637
Benchmarker::Benchmarker()
37-
: mds_client_(BuildSharedMDSClient()),
38+
: mds_client_(std::make_shared<MDSClientImpl>(FLAGS_mds_addrs)),
3839
storage_pool_(std::make_shared<StoragePoolImpl>(mds_client_)),
3940
collector_(std::make_unique<Collector>()),
4041
reporter_(std::make_shared<Reporter>(collector_)),

src/cache/cachegroup/cache_group_node.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,19 @@
3535
#include "cache/blockcache/block_cache_impl.h"
3636
#include "cache/common/const.h"
3737
#include "cache/common/macro.h"
38+
#include "cache/common/mds_client.h"
3839
#include "cache/metric/cache_group_node_metric.h"
3940
#include "cache/utils/context.h"
4041
#include "cache/utils/step_timer.h"
4142
#include "common/io_buffer.h"
4243
#include "common/status.h"
44+
#include "options/cache/option.h"
4345

4446
namespace dingofs {
4547
namespace cache {
4648

47-
DEFINE_string(id, "", "Specified the cache node id (only mds v2 required)");
49+
DEFINE_string(id, "", "Specified the cache node id");
50+
DEFINE_validator(id, Helper::NonEmptyString);
4851

4952
DEFINE_string(group_name, "", "Which group this cache node belongs to");
5053
DEFINE_validator(group_name, Helper::NonEmptyString);
@@ -65,7 +68,7 @@ static const std::string kModule = "cachenode";
6568

6669
CacheGroupNodeImpl::CacheGroupNodeImpl()
6770
: running_(false),
68-
mds_client_(BuildSharedMDSClient()),
71+
mds_client_(std::make_shared<MDSClientImpl>(FLAGS_mds_addrs)),
6972
member_(std::make_shared<CacheGroupNodeMemberImpl>(mds_client_)),
7073
heartbeat_(
7174
std::make_unique<CacheGroupNodeHeartbeatImpl>(member_, mds_client_)),

src/cache/common/mds_client.cpp

Lines changed: 24 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
#include <memory>
3333
#include <string>
3434
#include <unordered_map>
35-
#include <utility>
3635

3736
#include "cache/common/macro.h"
3837
#include "cache/utils/helper.h"
@@ -52,17 +51,6 @@ DEFINE_string(mds_addrs, "",
5251
"Cache group member manager service rpc addresses");
5352
DEFINE_validator(mds_addrs, Helper::NonEmptyString);
5453

55-
DEFINE_string(mds_version, "v2",
56-
"MDS version for member managment, 'v1' or 'v2'");
57-
58-
DEFINE_uint64(mdsv1_rpc_retry_total_ms, 16000, "");
59-
DEFINE_uint64(mdsv1_rpc_max_timeout_ms, 2000, "");
60-
DEFINE_uint64(mdsv1_rpc_timeout_ms, 500, "");
61-
DEFINE_uint64(mdsv1_rpc_retry_interval_us, 50000, "");
62-
DEFINE_uint64(mdsv1_rpc_max_failed_times_before_change_addr, 2, "");
63-
DEFINE_uint64(mdsv1_rpc_normal_retry_times_before_trigger_wait, 3, "");
64-
DEFINE_uint64(mdsv1_rpc_wait_sleep_ms, 1000, "");
65-
6654
DEFINE_int64(mds_rpc_timeout_ms, 3000, "mds rpc timeout");
6755
DEFINE_validator(mds_rpc_timeout_ms, brpc::PassValidate);
6856

@@ -72,12 +60,12 @@ DEFINE_validator(mds_rpc_retry_times, brpc::PassValidate);
7260
DEFINE_uint32(mds_request_retry_times, 3, "mds rpc request retry time");
7361
DEFINE_validator(mds_request_retry_times, brpc::PassValidate);
7462

75-
MDSV2Client::MDSV2Client(const std::string& mds_addr)
63+
MDSClientImpl::MDSClientImpl(const std::string& mds_addr)
7664
: running_(false),
7765
rpc_(client::vfs::v2::RPC::New(mds_addr)),
7866
mds_discovery_(std::make_unique<client::vfs::v2::MDSDiscovery>(rpc_)) {}
7967

80-
Status MDSV2Client::Start() {
68+
Status MDSClientImpl::Start() {
8169
CHECK_NOTNULL(rpc_);
8270
CHECK_NOTNULL(mds_discovery_);
8371

@@ -100,7 +88,7 @@ Status MDSV2Client::Start() {
10088
return Status::OK();
10189
}
10290

103-
Status MDSV2Client::Shutdown() {
91+
Status MDSClientImpl::Shutdown() {
10492
if (!running_.exchange(false)) {
10593
return Status::OK();
10694
}
@@ -116,23 +104,22 @@ Status MDSV2Client::Shutdown() {
116104
return Status::OK();
117105
}
118106

119-
Status MDSV2Client::GetFSInfo(uint64_t fs_id,
120-
pb::common::StorageInfo* storage_info) {
107+
Status MDSClientImpl::GetFSInfo(uint64_t fs_id, pb::mds::FsInfo* fs_info) {
121108
pb::mds::GetFsInfoRequest request;
122109
pb::mds::GetFsInfoResponse response;
123110

124111
request.set_fs_id(fs_id);
125112
auto status = SendRequest("MDSService", "GetFsInfo", request, response);
126113
if (status.ok()) {
127-
*storage_info = ToCommonStorageInfo(response.fs_info());
114+
*fs_info = response.fs_info();
128115
}
129116
return status;
130117
}
131118

132-
Status MDSV2Client::JoinCacheGroup(const std::string& want_id,
133-
const std::string& ip, uint32_t port,
134-
const std::string& group_name,
135-
uint32_t weight, std::string* member_id) {
119+
Status MDSClientImpl::JoinCacheGroup(const std::string& want_id,
120+
const std::string& ip, uint32_t port,
121+
const std::string& group_name,
122+
uint32_t weight, std::string* member_id) {
136123
pb::mds::JoinCacheGroupRequest request;
137124
pb::mds::JoinCacheGroupResponse response;
138125

@@ -157,9 +144,9 @@ Status MDSV2Client::JoinCacheGroup(const std::string& want_id,
157144
return Status::OK();
158145
}
159146

160-
Status MDSV2Client::LeaveCacheGroup(const std::string& member_id,
161-
const std::string& ip, uint32_t port,
162-
const std::string& group_name) {
147+
Status MDSClientImpl::LeaveCacheGroup(const std::string& member_id,
148+
const std::string& ip, uint32_t port,
149+
const std::string& group_name) {
163150
pb::mds::LeaveCacheGroupRequest request;
164151
pb::mds::LeaveCacheGroupResponse response;
165152

@@ -178,8 +165,8 @@ Status MDSV2Client::LeaveCacheGroup(const std::string& member_id,
178165
return status;
179166
}
180167

181-
Status MDSV2Client::Heartbeat(const std::string& member_id,
182-
const std::string& ip, uint32_t port) {
168+
Status MDSClientImpl::Heartbeat(const std::string& member_id,
169+
const std::string& ip, uint32_t port) {
183170
pb::mds::HeartbeatRequest request;
184171
pb::mds::HeartbeatResponse response;
185172

@@ -198,8 +185,8 @@ Status MDSV2Client::Heartbeat(const std::string& member_id,
198185
return status;
199186
}
200187

201-
Status MDSV2Client::ListMembers(const std::string& group_name,
202-
std::vector<CacheGroupMember>* members) {
188+
Status MDSClientImpl::ListMembers(const std::string& group_name,
189+
std::vector<CacheGroupMember>* members) {
203190
pb::mds::ListMembersRequest request;
204191
pb::mds::ListMembersResponse response;
205192

@@ -224,46 +211,7 @@ Status MDSV2Client::ListMembers(const std::string& group_name,
224211
return Status::OK();
225212
}
226213

227-
pb::common::S3Info MDSV2Client::ToCommonS3Info(const pb::mds::S3Info& in) {
228-
pb::common::S3Info out;
229-
out.set_ak(in.ak());
230-
out.set_sk(in.sk());
231-
out.set_endpoint(in.endpoint());
232-
out.set_bucketname(in.bucketname());
233-
234-
return out;
235-
}
236-
237-
pb::common::RadosInfo MDSV2Client::ToCommonRadosInfo(
238-
const pb::mds::RadosInfo& in) {
239-
pb::common::RadosInfo out;
240-
out.set_user_name(in.user_name());
241-
out.set_key(in.key());
242-
out.set_mon_host(in.mon_host());
243-
out.set_pool_name(in.pool_name());
244-
out.set_cluster_name(in.cluster_name());
245-
246-
return out;
247-
}
248-
249-
pb::common::StorageInfo MDSV2Client::ToCommonStorageInfo(
250-
const pb::mds::FsInfo& fs_info) {
251-
pb::common::StorageInfo out;
252-
if (fs_info.fs_type() == pb::mds::FsType::S3) {
253-
out.set_type(pb::common::StorageType::TYPE_S3);
254-
*out.mutable_s3_info() = ToCommonS3Info(fs_info.extra().s3_info());
255-
} else if (fs_info.fs_type() == pb::mds::FsType::RADOS) {
256-
out.set_type(pb::common::StorageType::TYPE_RADOS);
257-
*out.mutable_rados_info() = ToCommonRadosInfo(fs_info.extra().rados_info());
258-
} else {
259-
CHECK(false) << "Unsupported fs type: "
260-
<< pb::mds::FsType_Name(fs_info.fs_type());
261-
}
262-
263-
return out;
264-
}
265-
266-
CacheGroupMemberState MDSV2Client::ToMemberState(
214+
CacheGroupMemberState MDSClientImpl::ToMemberState(
267215
pb::mds::CacheGroupMemberState state) {
268216
switch (state) {
269217
case pb::mds::CacheGroupMemberStateOnline:
@@ -278,7 +226,7 @@ CacheGroupMemberState MDSV2Client::ToMemberState(
278226
}
279227
}
280228

281-
mds::MDSMeta MDSV2Client::GetRandomlyMDS(const mds::MDSMeta& old_mds) {
229+
mds::MDSMeta MDSClientImpl::GetRandomlyMDS(const mds::MDSMeta& old_mds) {
282230
auto mdses = mds_discovery_->GetNormalMDS(true);
283231
CHECK(!mdses.empty()) << "No normal mds found";
284232

@@ -295,7 +243,7 @@ mds::MDSMeta MDSV2Client::GetRandomlyMDS(const mds::MDSMeta& old_mds) {
295243
return old_mds;
296244
}
297245

298-
bool MDSV2Client::ShouldRetry(Status status) {
246+
bool MDSClientImpl::ShouldRetry(Status status) {
299247
static std::unordered_map<int, bool> should_retry_errnos = {
300248
{pb::error::EROUTER_EPOCH_CHANGE, true},
301249
{pb::error::ENOT_SERVE, true},
@@ -305,11 +253,11 @@ bool MDSV2Client::ShouldRetry(Status status) {
305253
return status.IsNetError() || should_retry_errnos.count(status.Errno()) != 0;
306254
}
307255

308-
bool MDSV2Client::ShouldSetMDSAbormal(Status status) {
256+
bool MDSClientImpl::ShouldSetMDSAbormal(Status status) {
309257
return status.IsInternal() || status.IsNetError();
310258
}
311259

312-
bool MDSV2Client::ShouldRefreshMDSList(Status status) {
260+
bool MDSClientImpl::ShouldRefreshMDSList(Status status) {
313261
static std::unordered_map<int, bool> should_refresh_errnos = {
314262
{pb::error::EROUTER_EPOCH_CHANGE, true},
315263
{pb::error::ENOT_SERVE, true},
@@ -319,9 +267,9 @@ bool MDSV2Client::ShouldRefreshMDSList(Status status) {
319267
}
320268

321269
template <typename Request, typename Response>
322-
Status MDSV2Client::SendRequest(const std::string& service_name,
323-
const std::string& api_name, Request& request,
324-
Response& response) {
270+
Status MDSClientImpl::SendRequest(const std::string& service_name,
271+
const std::string& api_name, Request& request,
272+
Response& response) {
325273
mds::MDSMeta mds, old_mds;
326274
client::vfs::v2::SendRequestOption rpc_option;
327275
rpc_option.timeout_ms = FLAGS_mds_rpc_timeout_ms;
@@ -354,21 +302,5 @@ Status MDSV2Client::SendRequest(const std::string& service_name,
354302
return Status::Internal("send request fail");
355303
}
356304

357-
MDSClientSPtr BuildSharedMDSClient() {
358-
if (FLAGS_mds_version == "v2") {
359-
return std::make_shared<MDSV2Client>(FLAGS_mds_addrs);
360-
} else {
361-
CHECK(false) << "Unsupported MDS version: " << FLAGS_mds_version;
362-
}
363-
}
364-
365-
MDSClientUPtr BuildUniqueMDSClient() {
366-
if (FLAGS_mds_version == "v2") {
367-
return std::make_unique<MDSV2Client>(FLAGS_mds_addrs);
368-
} else {
369-
CHECK(false) << "Unsupported MDS version: " << FLAGS_mds_version;
370-
}
371-
}
372-
373305
} // namespace cache
374306
} // namespace dingofs

src/cache/common/mds_client.h

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include "client/vfs/meta/v2/rpc.h"
3131
#include "common/status.h"
3232
#include "dingofs/common.pb.h"
33+
#include "dingofs/mds.pb.h"
3334
#include "mds/mds/mds_meta.h"
3435

3536
namespace dingofs {
@@ -84,8 +85,7 @@ class MDSClient {
8485
virtual Status Start() = 0;
8586
virtual Status Shutdown() = 0;
8687

87-
virtual Status GetFSInfo(uint64_t fs_id,
88-
pb::common::StorageInfo* storage_info) = 0;
88+
virtual Status GetFSInfo(uint64_t fs_id, pb::mds::FsInfo* fs_info) = 0;
8989

9090
virtual Status JoinCacheGroup(const std::string& want_id,
9191
const std::string& ip, uint32_t port,
@@ -103,15 +103,14 @@ class MDSClient {
103103
using MDSClientSPtr = std::shared_ptr<MDSClient>;
104104
using MDSClientUPtr = std::unique_ptr<MDSClient>;
105105

106-
class MDSV2Client : public MDSClient {
106+
class MDSClientImpl : public MDSClient {
107107
public:
108-
explicit MDSV2Client(const std::string& mds_addr);
108+
explicit MDSClientImpl(const std::string& mds_addr);
109109

110110
Status Start() override;
111111
Status Shutdown() override;
112112

113-
Status GetFSInfo(uint64_t fs_id,
114-
pb::common::StorageInfo* storage_info) override;
113+
Status GetFSInfo(uint64_t fs_id, pb::mds::FsInfo* fs_info) override;
115114

116115
Status JoinCacheGroup(const std::string& want_id, const std::string& ip,
117116
uint32_t port, const std::string& group_name,
@@ -124,9 +123,6 @@ class MDSV2Client : public MDSClient {
124123
std::vector<CacheGroupMember>* members) override;
125124

126125
private:
127-
pb::common::S3Info ToCommonS3Info(const pb::mds::S3Info& info);
128-
pb::common::RadosInfo ToCommonRadosInfo(const pb::mds::RadosInfo& info);
129-
pb::common::StorageInfo ToCommonStorageInfo(const pb::mds::FsInfo& info);
130126
CacheGroupMemberState ToMemberState(pb::mds::CacheGroupMemberState state);
131127

132128
mds::MDSMeta GetRandomlyMDS(const mds::MDSMeta& old_mds);
@@ -144,9 +140,6 @@ class MDSV2Client : public MDSClient {
144140
std::unique_ptr<client::vfs::v2::MDSDiscovery> mds_discovery_;
145141
};
146142

147-
MDSClientSPtr BuildSharedMDSClient();
148-
MDSClientUPtr BuildUniqueMDSClient();
149-
150143
} // namespace cache
151144
} // namespace dingofs
152145

src/cache/dingo_cache.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,8 @@ int DingoCache::ParseFlags(int argc, char** argv) {
5050
}
5151

5252
// validate flags
53-
if (FLAGS_mds_version == "v1" && !FLAGS_id.empty()) {
54-
std::cerr << "MDS v1 does not support cache node id, please remove the "
55-
"--id flag.\n";
56-
return -1;
57-
} else if (FLAGS_mds_version == "v2" && FLAGS_id.empty()) {
58-
std::cerr << "MDS v2 requires cache node id, please set it by --id\n";
53+
if (FLAGS_mds_addrs.empty()) {
54+
std::cerr << "mds_addrs is empty, please set it by --mds_addrs\n";
5955
return -1;
6056
} else if (FLAGS_cache_store != "disk") {
6157
std::cerr

src/cache/remotecache/remote_cache_node_manager.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@
2626
#include <gflags/gflags.h>
2727
#include <glog/logging.h>
2828

29+
#include <memory>
30+
2931
#include "cache/common/macro.h"
3032
#include "cache/common/mds_client.h"
3133
#include "cache/metric/cache_status.h"
34+
#include "options/cache/option.h"
3235
#include "utils/executor/bthread/bthread_executor.h"
3336

3437
namespace dingofs {
@@ -39,7 +42,7 @@ DEFINE_uint32(load_members_interval_ms, 1000,
3942

4043
RemoteCacheNodeManager::RemoteCacheNodeManager(OnMemberLoadFn on_member_load_fn)
4144
: running_(false),
42-
mds_client_(BuildUniqueMDSClient()),
45+
mds_client_(std::make_unique<MDSClientImpl>(FLAGS_mds_addrs)),
4346
on_member_load_fn_(on_member_load_fn),
4447
executor_(std::make_unique<BthreadExecutor>()) {}
4548

0 commit comments

Comments
 (0)