Skip to content

Commit 6cf3fdd

Browse files
committed
Dealing with duplication trx
1 parent 4bdf186 commit 6cf3fdd

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

src/main/java/org/tron/common/overlay/server/ChannelManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public class ChannelManager {
4646

4747
private static final Logger logger = LoggerFactory.getLogger("ChannelManager");
4848

49-
private static final int inboundConnectionBanTimeout = 60 * 1000;
49+
private static final int inboundConnectionBanTimeout = 30 * 1000;
5050

5151
private final Map<ByteArrayWrapper, Channel> activePeers = new ConcurrentHashMap<>();
5252

src/main/java/org/tron/core/net/node/NodeImpl.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ private void cleanUpSyncPeer(PeerConnection peer, ReasonCode reasonCode) {
852852
disconnectPeer(peer, reasonCode);
853853
}
854854

855-
synchronized boolean isExist(TransactionMessage trxMsg){
855+
synchronized boolean isTrxExist(TransactionMessage trxMsg){
856856
if (TrxCache.getIfPresent(trxMsg.getMessageId()) != null){
857857
return true;
858858
}
@@ -861,19 +861,18 @@ synchronized boolean isExist(TransactionMessage trxMsg){
861861
}
862862

863863
private void onHandleTransactionMessage(PeerConnection peer, TransactionMessage trxMsg) {
864-
if (isExist(trxMsg)){
865-
return;
866-
}
867-
//logger.info("on handle transaction message");
868864
try {
869865
Item item = new Item(trxMsg.getMessageId(), InventoryType.TRX);
870866
if (!peer.getAdvObjWeRequested().containsKey(item)) {
871867
throw new TraitorPeerException("We don't send fetch request to" + peer);
872-
} else {
873-
peer.getAdvObjWeRequested().remove(item);
874-
del.handleTransaction(trxMsg.getTransactionCapsule());
875-
broadcast(trxMsg);
876868
}
869+
peer.getAdvObjWeRequested().remove(item);
870+
if (isTrxExist(trxMsg)){
871+
logger.info("Trx {} from Peer {} already processed.", trxMsg.getMessageId(), peer.getNode().getHost());
872+
return;
873+
}
874+
del.handleTransaction(trxMsg.getTransactionCapsule());
875+
broadcast(trxMsg);
877876
} catch (TraitorPeerException e) {
878877
logger.error(e.getMessage());
879878
banTraitorPeer(peer, ReasonCode.BAD_PROTOCOL);

0 commit comments

Comments
 (0)