@@ -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