Skip to content

Commit 2284105

Browse files
committed
1
1 parent f08ce98 commit 2284105

File tree

2 files changed

+18
-11
lines changed

2 files changed

+18
-11
lines changed

src/common/replication_other_types.h

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,21 @@ inline bool is_member(const partition_configuration &pc, const rpc_address &node
7979
inline bool is_partition_config_equal(const partition_configuration &pc1,
8080
const partition_configuration &pc2)
8181
{
82-
// secondaries no need to be same order
82+
if (pc1.ballot != pc2.ballot || pc1.pid != pc2.pid ||
83+
pc1.max_replica_count != pc2.max_replica_count ||
84+
pc1.last_committed_decree != pc2.last_committed_decree) {
85+
return false;
86+
}
87+
88+
host_port pc1_primary;
89+
GET_HOST_PORT(pc1, primary, pc1_primary);
90+
host_port pc2_primary;
91+
GET_HOST_PORT(pc2, primary, pc2_primary);
92+
if (pc1_primary != pc2_primary) {
93+
return false;
94+
}
95+
96+
// secondaries no need to be in the same order.
8397
std::vector<host_port> pc1_secondaries;
8498
GET_HOST_PORTS(pc1, secondaries, pc1_secondaries);
8599
for (const auto &pc1_secondary : pc1_secondaries) {
@@ -88,17 +102,10 @@ inline bool is_partition_config_equal(const partition_configuration &pc1,
88102
}
89103
}
90104

91-
// last_drops is not considered into equality check
92-
host_port pc1_primary;
93-
GET_HOST_PORT(pc1, primary, pc1_primary);
94-
host_port pc2_primary;
95-
GET_HOST_PORT(pc2, primary, pc2_primary);
96105
std::vector<host_port> pc2_secondaries;
97106
GET_HOST_PORTS(pc2, secondaries, pc2_secondaries);
98-
return pc1.ballot == pc2.ballot && pc1.pid == pc2.pid &&
99-
pc1.max_replica_count == pc2.max_replica_count && pc1_primary == pc2_primary &&
100-
pc1_secondaries.size() == pc2_secondaries.size() &&
101-
pc1.last_committed_decree == pc2.last_committed_decree;
107+
// last_drops is not considered into equality check
108+
return pc1_secondaries.size() == pc2_secondaries.size();
102109
}
103110

104111
class replica_helper

src/replica/storage/simple_kv/test/common.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ void parti_config::convert_from(const partition_configuration &pc)
320320
pid = pc.pid;
321321
ballot = pc.ballot;
322322
primary = address_to_node(pc.hp_primary);
323-
for (auto &secondary : pc.hp_secondaries) {
323+
for (const auto &secondary : pc.hp_secondaries) {
324324
secondaries.push_back(address_to_node(secondary));
325325
}
326326
std::sort(secondaries.begin(), secondaries.end());

0 commit comments

Comments
 (0)