Skip to content

Commit f7b7c66

Browse files
authored
CHIA-3758 Avoid recomputing mempool removals' transaction IDs in FullNode's broadcast_removed_tx (#20097)
Avoid recomputing mempool removals' transaction IDs in FullNode's broadcast_removed_tx.
1 parent b45f677 commit f7b7c66

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

chia/full_node/full_node.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2903,7 +2903,7 @@ async def broadcast_removed_tx(self, mempool_removals: list[MempoolRemoveInfo])
29032903
removals_to_send: dict[bytes32, list[RemovedMempoolItem]] = dict()
29042904

29052905
for removal_info in mempool_removals:
2906-
for internal_mempool_item in removal_info.items:
2906+
for transaction_id, internal_mempool_item in removal_info.items.items():
29072907
conds = internal_mempool_item.conds
29082908
assert conds is not None
29092909

@@ -2915,8 +2915,6 @@ async def broadcast_removed_tx(self, mempool_removals: list[MempoolRemoveInfo])
29152915
if len(peer_ids) == 0:
29162916
continue
29172917

2918-
transaction_id = internal_mempool_item.spend_bundle.name()
2919-
29202918
self.log.debug(f"Broadcasting removed transaction {transaction_id} to wallet peers {peer_ids}")
29212919

29222920
for peer_id in peer_ids:

chia/full_node/mempool.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767

6868
@dataclass
6969
class MempoolRemoveInfo:
70-
items: list[InternalMempoolItem]
70+
items: dict[bytes32, InternalMempoolItem]
7171
reason: MempoolRemoveReason
7272

7373

@@ -340,7 +340,7 @@ def remove_from_pool(self, items: list[bytes32], reason: MempoolRemoveReason) ->
340340
Removes an item from the mempool.
341341
"""
342342
if items == []:
343-
return MempoolRemoveInfo([], reason)
343+
return MempoolRemoveInfo({}, reason)
344344

345345
removed_items: list[MempoolItemInfo] = []
346346
if reason != MempoolRemoveReason.BLOCK_INCLUSION:
@@ -356,7 +356,7 @@ def remove_from_pool(self, items: list[bytes32], reason: MempoolRemoveReason) ->
356356
item = MempoolItemInfo(int(row[1]), int(row[2]), internal_item.height_added_to_mempool)
357357
removed_items.append(item)
358358

359-
removed_internal_items = [self._items.pop(name) for name in items]
359+
removed_internal_items = {name: self._items.pop(name) for name in items}
360360

361361
for batch in to_batches(items, SQLITE_MAX_VARIABLE_NUMBER):
362362
args = ",".join(["?"] * len(batch.entries))

0 commit comments

Comments
 (0)