Skip to content

Commit 1644571

Browse files
committed
overwrite old_addr with new_addrs in consume_peer_record
1 parent 64bc388 commit 1644571

File tree

2 files changed

+3
-12
lines changed

2 files changed

+3
-12
lines changed

libp2p/peer/peerstore.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -253,20 +253,11 @@ def consume_peer_record(self, envelope: Envelope, ttl: int) -> bool:
253253
if existing and existing.seq > record.seq:
254254
return False # reject older record
255255

256-
# Merge new addresses with existing ones if peer exists
257-
if peer_id in self.peer_data_map:
258-
try:
259-
existing_addrs = set(self.addrs(peer_id))
260-
except PeerStoreError:
261-
existing_addrs = set()
262-
else:
263-
existing_addrs = set()
264-
265256
new_addrs = set(record.addrs)
266-
merged_addrs = list(existing_addrs.union(new_addrs))
267257

268258
self.peer_record_map[peer_id] = PeerRecordState(envelope, record.seq)
269-
self.add_addrs(peer_id, merged_addrs, ttl)
259+
self.peer_data_map[peer_id].clear_addrs()
260+
self.add_addrs(peer_id, list(new_addrs), ttl)
270261

271262
return True
272263

tests/core/peer/test_addrbook.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,6 @@ def test_ceritified_addr_book():
134134
assert latest.record().seq == 23
135135

136136
# Merged addresses = old addres + new_addrs
137-
expected_addrs = set(addrs).union(set(new_addrs))
137+
expected_addrs = set(new_addrs)
138138
actual_addrs = set(store.addrs(peer_id))
139139
assert actual_addrs == expected_addrs

0 commit comments

Comments
 (0)