Skip to content

Commit 81bb50b

Browse files
committed
add some log for isolated2 disconnection
1 parent 21f0cb5 commit 81bb50b

2 files changed

Lines changed: 14 additions & 8 deletions

File tree

framework/src/main/java/org/tron/core/net/peer/PeerConnection.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ public String log() {
230230
+ "syncBlockRequestedSize:%d\n"
231231
+ "remainNum:%d\n"
232232
+ "syncChainRequested:%d\n"
233+
+ "inactiveSeconds:%d\n"
233234
+ "blockInProcess:%d\n",
234235
channel.getInetSocketAddress(),
235236
(now - channel.getStartTime()) / Constant.ONE_THOUSAND,
@@ -244,6 +245,7 @@ public String log() {
244245
remainNum,
245246
requested == null ? 0 : (now - requested.getValue())
246247
/ Constant.ONE_THOUSAND,
248+
(now - lastActiveTime) / Constant.ONE_THOUSAND,
247249
syncBlockInProcess.size());
248250
}
249251

framework/src/main/java/org/tron/core/net/service/effective/ResilienceService.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ private void disconnectRandom() {
8080
.collect(Collectors.toList());
8181
if (!peers.isEmpty()) {
8282
int index = new Random().nextInt(peers.size());
83-
disconnectFromPeer(peers.get(index), ReasonCode.RANDOM_ELIMINATION);
83+
disconnectFromPeer(peers.get(index), ReasonCode.RANDOM_ELIMINATION, "random");
8484
}
8585
}
8686
}
@@ -98,14 +98,14 @@ private void disconnectLan() {
9898
.filter(peer -> !peer.getChannel().isTrustPeer())
9999
.collect(Collectors.toList());
100100
Optional<PeerConnection> one = getEarliestPeer(peers);
101-
one.ifPresent(peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL));
101+
one.ifPresent(peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL, "lan node"));
102102
}
103103
}
104104
}
105105

106106
private void disconnectIsolated2() {
107107
if (isIsolateLand2()) {
108-
logger.info("Node is isolated, try to disconnect from peers");
108+
logger.warn("Node is isolated, try to disconnect from peers");
109109
int peerSize = tronNetDelegate.getActivePeer().size();
110110

111111
//disconnect from the node whose lastActiveTime is smallest
@@ -117,7 +117,8 @@ private void disconnectIsolated2() {
117117
.collect(Collectors.toList());
118118

119119
Optional<PeerConnection> one = getEarliestPeer(peers);
120-
one.ifPresent(peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL));
120+
one.ifPresent(
121+
peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL, "isolate2 and active"));
121122
}
122123

123124
//disconnect from some passive nodes, make sure retention nodes' num <= 0.8 * maxConnection,
@@ -141,7 +142,10 @@ private void disconnectIsolated2() {
141142
if (peers.size() > disconnectSize) {
142143
peers = peers.subList(0, disconnectSize);
143144
}
144-
peers.forEach(peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL));
145+
logger.info("All peer Size:{}, avail:{}, disconnectSize:{}, ", peerSize, peers.size(),
146+
disconnectSize);
147+
peers.forEach(
148+
peer -> disconnectFromPeer(peer, ReasonCode.BAD_PROTOCOL, "isolate2 and passive"));
145149
}
146150
}
147151
}
@@ -173,10 +177,10 @@ private boolean isIsolateLand2() {
173177
return advPeerCount >= 1 && diff >= blockNotChangeThreshold;
174178
}
175179

176-
private void disconnectFromPeer(PeerConnection peer, ReasonCode reasonCode) {
180+
private void disconnectFromPeer(PeerConnection peer, ReasonCode reasonCode, String cause) {
177181
int inactiveSeconds = (int) ((System.currentTimeMillis() - peer.getLastActiveTime()) / 1000);
178-
logger.info("Disconnect from peer {}, inactive seconds {}", peer.getInetSocketAddress(),
179-
inactiveSeconds);
182+
logger.info("Disconnect from peer {}, inactive seconds {}, cause: {}",
183+
peer.getInetSocketAddress(), inactiveSeconds, cause);
180184
peer.disconnect(reasonCode);
181185
}
182186

0 commit comments

Comments
 (0)