Skip to content

Commit bb2b1e2

Browse files
committed
refactor(FQDN): feather refactor on client and host_port.h
1 parent e11db2a commit bb2b1e2

File tree

1 file changed

+126
-82
lines changed

1 file changed

+126
-82
lines changed

src/meta/test/meta_data.cpp

Lines changed: 126 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,17 @@
3131
#include "client/partition_resolver.h"
3232
#include "common/gpid.h"
3333
#include "dsn.layer2_types.h"
34-
#include "gtest/gtest.h"
3534
#include "meta/meta_data.h"
3635
#include "metadata_types.h"
3736
#include "misc/misc.h"
3837
#include "rpc/dns_resolver.h" // IWYU pragma: keep
3938
#include "rpc/rpc_address.h"
4039
#include "rpc/rpc_host_port.h"
40+
#include "gtest/gtest.h"
4141

4242
using namespace dsn::replication;
4343

44-
TEST(meta_data, dropped_cmp)
45-
{
44+
TEST(meta_data, dropped_cmp) {
4645
dsn::host_port n;
4746

4847
dropped_replica d1, d2;
@@ -88,8 +87,7 @@ TEST(meta_data, dropped_cmp)
8887
}
8988

9089
static bool vec_equal(const std::vector<dropped_replica> &vec1,
91-
const std::vector<dropped_replica> &vec2)
92-
{
90+
const std::vector<dropped_replica> &vec2) {
9391
if (vec1.size() != vec2.size())
9492
return false;
9593
for (unsigned int i = 0; i != vec1.size(); ++i) {
@@ -107,8 +105,7 @@ static bool vec_equal(const std::vector<dropped_replica> &vec1,
107105
return true;
108106
}
109107

110-
TEST(meta_data, collect_replica)
111-
{
108+
TEST(meta_data, collect_replica) {
112109
app_mapper apps;
113110
node_mapper nodes;
114111

@@ -134,20 +131,20 @@ TEST(meta_data, collect_replica)
134131
std::vector<dsn::host_port> node_list;
135132
generate_node_list(node_list, 10, 10);
136133

137-
#define CLEAR_REPLICA \
138-
do { \
139-
RESET_IP_AND_HOST_PORT(pc, primary); \
140-
CLEAR_IP_AND_HOST_PORT(pc, secondaries); \
141-
CLEAR_IP_AND_HOST_PORT(pc, last_drops); \
134+
#define CLEAR_REPLICA \
135+
do { \
136+
RESET_IP_AND_HOST_PORT(pc, primary); \
137+
CLEAR_IP_AND_HOST_PORT(pc, secondaries); \
138+
CLEAR_IP_AND_HOST_PORT(pc, last_drops); \
142139
} while (false)
143140

144-
#define CLEAR_DROP_LIST \
145-
do { \
146-
cc.dropped.clear(); \
141+
#define CLEAR_DROP_LIST \
142+
do { \
143+
cc.dropped.clear(); \
147144
} while (false)
148145

149-
#define CLEAR_ALL \
150-
CLEAR_REPLICA; \
146+
#define CLEAR_ALL \
147+
CLEAR_REPLICA; \
151148
CLEAR_DROP_LIST
152149

153150
{
@@ -210,8 +207,10 @@ TEST(meta_data, collect_replica)
210207
// drop_list mixed, full, minimal position
211208
CLEAR_ALL;
212209
cc.dropped = {
213-
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2, 3, 5},
214-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 5},
210+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2,
211+
3, 5},
212+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
213+
4, 5},
215214
dropped_replica{node_list[2], 7, 1, 1, 5},
216215
dropped_replica{node_list[3], 8, 1, 1, 5},
217216
};
@@ -226,8 +225,10 @@ TEST(meta_data, collect_replica)
226225
// drop_list mixed, not full, minimal position
227226
CLEAR_ALL;
228227
cc.dropped = {
229-
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2, 3, 5},
230-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 5},
228+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2,
229+
3, 5},
230+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
231+
4, 5},
231232
dropped_replica{node_list[2], 7, 1, 1, 6},
232233
};
233234

@@ -245,8 +246,10 @@ TEST(meta_data, collect_replica)
245246
// drop_list mixed, full, not minimal position
246247
CLEAR_ALL;
247248
cc.dropped = {
248-
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2, 2, 6},
249-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 6},
249+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2,
250+
2, 6},
251+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
252+
4, 6},
250253
dropped_replica{node_list[2], 7, 1, 1, 6},
251254
dropped_replica{node_list[3], 8, 1, 1, 6},
252255
};
@@ -265,19 +268,25 @@ TEST(meta_data, collect_replica)
265268
{
266269
// drop_list mixed, not full, not minimal position
267270
CLEAR_ALL;
268-
cc.dropped = {dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2, 2, 6},
269-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 6},
270-
dropped_replica{node_list[2], 7, 1, 1, 6}};
271+
cc.dropped = {
272+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2,
273+
2, 6},
274+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
275+
4, 6},
276+
dropped_replica{node_list[2], 7, 1, 1, 6}};
271277

272278
rep.ballot = 3;
273279
rep.last_committed_decree = 1;
274280
rep.last_prepared_decree = 6;
275281
ASSERT_TRUE(collect_replica(view, node_list[5], rep));
276282

277283
std::vector<dropped_replica> result_dropped = {
278-
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2, 2, 6},
279-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 6},
280-
dropped_replica{node_list[5], dropped_replica::INVALID_TIMESTAMP, 3, 1, 6},
284+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2,
285+
2, 6},
286+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
287+
4, 6},
288+
dropped_replica{node_list[5], dropped_replica::INVALID_TIMESTAMP, 3,
289+
1, 6},
281290
dropped_replica{node_list[2], 7, 1, 1, 6}};
282291

283292
ASSERT_TRUE(vec_equal(result_dropped, cc.dropped));
@@ -287,10 +296,14 @@ TEST(meta_data, collect_replica)
287296
// drop_list no timestamp, full, minimal position
288297
CLEAR_ALL;
289298
cc.dropped = {
290-
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2, 2, 8},
291-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 8},
292-
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2, 6, 8},
293-
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4, 2, 8},
299+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2,
300+
2, 8},
301+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
302+
4, 8},
303+
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2,
304+
6, 8},
305+
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4,
306+
2, 8},
294307
};
295308

296309
rep.ballot = 1;
@@ -303,10 +316,14 @@ TEST(meta_data, collect_replica)
303316
// drop_list no timestamp, full, middle position
304317
CLEAR_ALL;
305318
cc.dropped = {
306-
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2, 2, 8},
307-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 8},
308-
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2, 6, 8},
309-
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4, 2, 8},
319+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 2,
320+
2, 8},
321+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
322+
4, 8},
323+
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2,
324+
6, 8},
325+
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4,
326+
2, 8},
310327
};
311328

312329
rep.ballot = 3;
@@ -315,10 +332,14 @@ TEST(meta_data, collect_replica)
315332
ASSERT_TRUE(collect_replica(view, node_list[5], rep));
316333

317334
std::vector<dropped_replica> result_dropped = {
318-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 8},
319-
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2, 6, 8},
320-
dropped_replica{node_list[5], dropped_replica::INVALID_TIMESTAMP, 3, 6, 8},
321-
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4, 2, 8},
335+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
336+
4, 8},
337+
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2,
338+
6, 8},
339+
dropped_replica{node_list[5], dropped_replica::INVALID_TIMESTAMP, 3,
340+
6, 8},
341+
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4,
342+
2, 8},
322343
};
323344

324345
ASSERT_TRUE(vec_equal(result_dropped, cc.dropped));
@@ -327,21 +348,30 @@ TEST(meta_data, collect_replica)
327348
{
328349
// drop_list no timestamp, full, largest position
329350
CLEAR_ALL;
330-
cc.dropped = {dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2, 4, 8},
331-
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2, 6, 8},
332-
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4, 2, 8},
333-
dropped_replica{node_list[4], dropped_replica::INVALID_TIMESTAMP, 4, 6, 8}};
351+
cc.dropped = {
352+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 2,
353+
4, 8},
354+
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2,
355+
6, 8},
356+
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4,
357+
2, 8},
358+
dropped_replica{node_list[4], dropped_replica::INVALID_TIMESTAMP, 4,
359+
6, 8}};
334360

335361
rep.ballot = 4;
336362
rep.last_committed_decree = 8;
337363
rep.last_prepared_decree = 8;
338364
ASSERT_TRUE(collect_replica(view, node_list[5], rep));
339365

340366
std::vector<dropped_replica> result_dropped = {
341-
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2, 6, 8},
342-
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4, 2, 8},
343-
dropped_replica{node_list[4], dropped_replica::INVALID_TIMESTAMP, 4, 6, 8},
344-
dropped_replica{node_list[5], dropped_replica::INVALID_TIMESTAMP, 4, 8, 8}};
367+
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 2,
368+
6, 8},
369+
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 4,
370+
2, 8},
371+
dropped_replica{node_list[4], dropped_replica::INVALID_TIMESTAMP, 4,
372+
6, 8},
373+
dropped_replica{node_list[5], dropped_replica::INVALID_TIMESTAMP, 4,
374+
8, 8}};
345375

346376
ASSERT_TRUE(vec_equal(result_dropped, cc.dropped));
347377
}
@@ -350,8 +380,7 @@ TEST(meta_data, collect_replica)
350380
#undef CLEAR_DROP_LIST
351381
}
352382

353-
TEST(meta_data, construct_replica)
354-
{
383+
TEST(meta_data, construct_replica) {
355384
app_mapper apps;
356385
node_mapper nodes;
357386

@@ -377,20 +406,20 @@ TEST(meta_data, construct_replica)
377406
std::vector<dsn::host_port> node_list;
378407
generate_node_list(node_list, 10, 10);
379408

380-
#define CLEAR_REPLICA \
381-
do { \
382-
RESET_IP_AND_HOST_PORT(pc, primary); \
383-
CLEAR_IP_AND_HOST_PORT(pc, secondaries); \
384-
CLEAR_IP_AND_HOST_PORT(pc, last_drops); \
409+
#define CLEAR_REPLICA \
410+
do { \
411+
RESET_IP_AND_HOST_PORT(pc, primary); \
412+
CLEAR_IP_AND_HOST_PORT(pc, secondaries); \
413+
CLEAR_IP_AND_HOST_PORT(pc, last_drops); \
385414
} while (false)
386415

387-
#define CLEAR_DROP_LIST \
388-
do { \
389-
cc.dropped.clear(); \
416+
#define CLEAR_DROP_LIST \
417+
do { \
418+
cc.dropped.clear(); \
390419
} while (false)
391420

392-
#define CLEAR_ALL \
393-
CLEAR_REPLICA; \
421+
#define CLEAR_ALL \
422+
CLEAR_REPLICA; \
394423
CLEAR_DROP_LIST
395424

396425
// drop_list is empty, can't construct replica
@@ -403,7 +432,8 @@ TEST(meta_data, construct_replica)
403432
// only have one node in drop_list
404433
{
405434
CLEAR_ALL;
406-
cc.dropped = {dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 5, 10, 12}};
435+
cc.dropped = {dropped_replica{
436+
node_list[0], dropped_replica::INVALID_TIMESTAMP, 5, 10, 12}};
407437
ASSERT_TRUE(construct_replica(view, rep.pid, 3));
408438
ASSERT_EQ(node_list[0], pc.hp_primary);
409439
ASSERT_TRUE(pc.hp_secondaries.empty());
@@ -414,51 +444,65 @@ TEST(meta_data, construct_replica)
414444
// have multiple nodes, ballots are not same
415445
{
416446
CLEAR_ALL;
417-
cc.dropped = {dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 6, 10, 12},
418-
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 7, 10, 12},
419-
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 8, 10, 12},
420-
dropped_replica{node_list[4], dropped_replica::INVALID_TIMESTAMP, 9, 11, 12}};
447+
cc.dropped = {
448+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 6,
449+
10, 12},
450+
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 7,
451+
10, 12},
452+
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 8,
453+
10, 12},
454+
dropped_replica{node_list[4], dropped_replica::INVALID_TIMESTAMP, 9,
455+
11, 12}};
421456
ASSERT_TRUE(construct_replica(view, rep.pid, 3));
422-
ASSERT_EQ(node_list[4], primary);
423-
ASSERT_TRUE(_secondaries.empty());
457+
ASSERT_EQ(node_list[4], pc.hp_primary);
458+
ASSERT_TRUE(pc.hp_secondaries.empty());
424459

425460
std::vector<dsn::host_port> nodes = {node_list[2], node_list[3]};
426-
ASSERT_EQ(nodes, last_drops);
461+
ASSERT_EQ(nodes, pc.hp_last_drops);
427462
ASSERT_EQ(3, cc.dropped.size());
428463
ASSERT_EQ(2, cc.prefered_dropped);
429464
}
430465

431466
// have multiple node, two have same ballots
432467
{
433468
CLEAR_ALL;
434-
cc.dropped = {dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 5, 10, 12},
435-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 7, 11, 12},
436-
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 7, 12, 12}};
469+
cc.dropped = {
470+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 5,
471+
10, 12},
472+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 7,
473+
11, 12},
474+
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 7,
475+
12, 12}};
437476

438477
ASSERT_TRUE(construct_replica(view, rep.pid, 3));
439-
ASSERT_EQ(node_list[2], primary);
440-
ASSERT_TRUE(secondaries.empty());
478+
ASSERT_EQ(node_list[2], pc.hp_primary);
479+
ASSERT_TRUE(pc.hp_secondaries.empty());
441480

442481
std::vector<dsn::host_port> nodes = {node_list[0], node_list[1]};
443-
ASSERT_EQ(nodes, last_drops);
482+
ASSERT_EQ(nodes, pc.hp_last_drops);
444483
ASSERT_EQ(2, cc.dropped.size());
445484
ASSERT_EQ(1, cc.prefered_dropped);
446485
}
447486

448487
// have multiple nodes, all have same ballots
449488
{
450489
CLEAR_ALL;
451-
cc.dropped = {dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 7, 11, 14},
452-
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 7, 12, 14},
453-
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 7, 13, 14},
454-
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 7, 14, 14}};
490+
cc.dropped = {
491+
dropped_replica{node_list[0], dropped_replica::INVALID_TIMESTAMP, 7,
492+
11, 14},
493+
dropped_replica{node_list[1], dropped_replica::INVALID_TIMESTAMP, 7,
494+
12, 14},
495+
dropped_replica{node_list[2], dropped_replica::INVALID_TIMESTAMP, 7,
496+
13, 14},
497+
dropped_replica{node_list[3], dropped_replica::INVALID_TIMESTAMP, 7,
498+
14, 14}};
455499

456500
ASSERT_TRUE(construct_replica(view, rep.pid, 3));
457-
ASSERT_EQ(node_list[3], primary);
458-
ASSERT_TRUE(secondaries.empty());
501+
ASSERT_EQ(node_list[3], pc.hp_primary);
502+
ASSERT_TRUE(pc.hp_secondaries.empty());
459503

460504
std::vector<dsn::host_port> nodes = {node_list[1], node_list[2]};
461-
ASSERT_EQ(nodes, last_drops);
505+
ASSERT_EQ(nodes, pc.hp_last_drops);
462506

463507
ASSERT_EQ(3, cc.dropped.size());
464508
ASSERT_EQ(2, cc.prefered_dropped);

0 commit comments

Comments
 (0)