From 28ce436fe337f7c03c27a5c8192d801be8f6ed0e Mon Sep 17 00:00:00 2001 From: jakamobiii Date: Mon, 12 Jan 2026 16:06:24 +0800 Subject: [PATCH] feat(net): optimize transaction processing logic --- .../tron/core/net/messagehandler/TransactionsMsgHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/framework/src/main/java/org/tron/core/net/messagehandler/TransactionsMsgHandler.java b/framework/src/main/java/org/tron/core/net/messagehandler/TransactionsMsgHandler.java index 5fab8bc6f3..0436b48d37 100644 --- a/framework/src/main/java/org/tron/core/net/messagehandler/TransactionsMsgHandler.java +++ b/framework/src/main/java/org/tron/core/net/messagehandler/TransactionsMsgHandler.java @@ -70,6 +70,10 @@ public boolean isBusy() { public void processMessage(PeerConnection peer, TronMessage msg) throws P2pException { TransactionsMessage transactionsMessage = (TransactionsMessage) msg; check(peer, transactionsMessage); + for (Transaction trx : transactionsMessage.getTransactions().getTransactionsList()) { + Item item = new Item(new TransactionMessage(trx).getMessageId(), InventoryType.TRX); + peer.getAdvInvRequest().remove(item); + } int smartContractQueueSize = 0; int trxHandlePoolQueueSize = 0; int dropSmartContractCount = 0; @@ -101,7 +105,6 @@ private void check(PeerConnection peer, TransactionsMessage msg) throws P2pExcep throw new P2pException(TypeEnum.BAD_MESSAGE, "trx: " + msg.getMessageId() + " without request."); } - peer.getAdvInvRequest().remove(item); if (trx.getRawData().getContractCount() < 1) { throw new P2pException(TypeEnum.BAD_TRX, "tx " + item.getHash() + " contract size should be greater than 0");