From b5bafe6f648e779056c26a29affc05bc914f00d8 Mon Sep 17 00:00:00 2001 From: cyjseagull Date: Fri, 9 Oct 2020 19:32:20 +0800 Subject: [PATCH] use groupInfo when updateBlockNotify only if it's not null --- .../bcos/sdk/amop/topic/TopicManager.java | 3 ++ .../fisco/bcos/sdk/channel/ChannelImp.java | 6 ++-- .../bcos/sdk/network/ConnectionManager.java | 4 ++- .../fisco/bcos/sdk/client/JsonRpcService.java | 2 +- .../sdk/service/GroupManagerServiceImpl.java | 35 +++++++++++++++---- 5 files changed, 39 insertions(+), 11 deletions(-) diff --git a/sdk-amop/src/main/java/org/fisco/bcos/sdk/amop/topic/TopicManager.java b/sdk-amop/src/main/java/org/fisco/bcos/sdk/amop/topic/TopicManager.java index 18c85fa36..65337f890 100644 --- a/sdk-amop/src/main/java/org/fisco/bcos/sdk/amop/topic/TopicManager.java +++ b/sdk-amop/src/main/java/org/fisco/bcos/sdk/amop/topic/TopicManager.java @@ -133,6 +133,9 @@ public Set getTopicNames() { } public void updateBlockNotify(String peerIpPort, List groupInfo) { + if (groupInfo == null) { + return; + } logger.debug( "update block notify, peer: {}, groupInfo: {}", peerIpPort, groupInfo.toString()); Set pnf = new HashSet<>(); diff --git a/sdk-core/src/main/java/org/fisco/bcos/sdk/channel/ChannelImp.java b/sdk-core/src/main/java/org/fisco/bcos/sdk/channel/ChannelImp.java index 57a709447..b09e65161 100644 --- a/sdk-core/src/main/java/org/fisco/bcos/sdk/channel/ChannelImp.java +++ b/sdk-core/src/main/java/org/fisco/bcos/sdk/channel/ChannelImp.java @@ -310,11 +310,13 @@ public void run(Timeout timeout) { logger.warn("send message with seq {} to {} failed ", out.getSeq(), peerIpPort); Response response = new Response(); response.setErrorCode(ChannelMessageError.CONNECTION_INVALID.getError()); - response.setErrorMessage( + String errorContent = "Send message " + peerIpPort + " failed for connect failed, current available peers: " - + getAvailablePeer().toString()); + + getAvailablePeer().toString(); + response.setErrorMessage(errorContent); + response.setContent(errorContent); response.setMessageID(out.getSeq()); if (callback != null) { callback.onResponse(response); diff --git a/sdk-core/src/main/java/org/fisco/bcos/sdk/network/ConnectionManager.java b/sdk-core/src/main/java/org/fisco/bcos/sdk/network/ConnectionManager.java index 61f138da4..6397c690a 100644 --- a/sdk-core/src/main/java/org/fisco/bcos/sdk/network/ConnectionManager.java +++ b/sdk-core/src/main/java/org/fisco/bcos/sdk/network/ConnectionManager.java @@ -96,6 +96,7 @@ public void startConnect(ConfigOption configOption) throws NetworkException { /** try connection */ List connChannelFuture = new ArrayList(); for (ConnectionInfo connect : connectionInfoList) { + logger.debug("startConnect to {}", connect.getEndPoint()); ChannelFuture channelFuture = bootstrap.connect(connect.getIp(), connect.getPort()); connChannelFuture.add(channelFuture); } @@ -175,7 +176,7 @@ private void reconnect() { bootstrap.connect(connectionInfo.getIp(), connectionInfo.getPort()); List errorMessageList = new ArrayList<>(); if (checkConnectionResult(connectionInfo, connectFuture, errorMessageList)) { - logger.trace( + logger.info( " reconnect to {}:{} success", connectionInfo.getIp(), connectionInfo.getPort()); @@ -404,6 +405,7 @@ private boolean checkConnectionResult( protected ChannelHandlerContext addConnectionContext( String ip, int port, ChannelHandlerContext ctx) { String endpoint = ip + ":" + port; + logger.debug("addConnectionContext, endpoint: {}, ctx:{}", endpoint, ctx); return availableConnections.put(endpoint, ctx); } diff --git a/sdk-service/src/main/java/org/fisco/bcos/sdk/client/JsonRpcService.java b/sdk-service/src/main/java/org/fisco/bcos/sdk/client/JsonRpcService.java index 18e96e409..7479fcf8c 100644 --- a/sdk-service/src/main/java/org/fisco/bcos/sdk/client/JsonRpcService.java +++ b/sdk-service/src/main/java/org/fisco/bcos/sdk/client/JsonRpcService.java @@ -233,7 +233,7 @@ protected T parseResponseIntoJsonRpcResponse( } catch (JsonProcessingException e) { logger.error( - "parseResponseIntoJsonRpcResponse failed for decode the message exceptioned, errorMessge: {}, groupId: {}", + "parseResponseIntoJsonRpcResponse failed for decode the message exception, errorMessage: {}, groupId: {}", e.getMessage(), this.groupId); throw new ClientException( diff --git a/sdk-service/src/main/java/org/fisco/bcos/sdk/service/GroupManagerServiceImpl.java b/sdk-service/src/main/java/org/fisco/bcos/sdk/service/GroupManagerServiceImpl.java index 48efccc53..2083b6184 100644 --- a/sdk-service/src/main/java/org/fisco/bcos/sdk/service/GroupManagerServiceImpl.java +++ b/sdk-service/src/main/java/org/fisco/bcos/sdk/service/GroupManagerServiceImpl.java @@ -165,8 +165,15 @@ public void accept(String peerIpAndPort) { new Runnable() { @Override public void run() { - fetchGroupList(peerIpAndPort); - updateNodeVersion(peerIpAndPort); + try { + fetchGroupList(peerIpAndPort); + updateNodeVersion(peerIpAndPort); + } catch (Exception e) { + logger.warn( + "GetNodeVersionHandler exception, error message: {}", + e.getMessage(), + e); + } } }); } @@ -210,10 +217,17 @@ public void registerBlockNumberNotifyHandler() { new Runnable() { @Override public void run() { - onReceiveBlockNotifyImpl( - version, - peerIpAndPort, - blockNumberNotifyMessage); + try { + onReceiveBlockNotifyImpl( + version, + peerIpAndPort, + blockNumberNotifyMessage); + } catch (Exception e) { + logger.warn( + "registerBlockNumberNotifyHandler exception, e: {}", + e.getMessage(), + e); + } } }); BlockNumberNotifyHandler handler = @@ -228,7 +242,14 @@ public void accept(String disconnectedEndpoint) { new Runnable() { @Override public void run() { - onDisconnect(disconnectedEndpoint); + try { + onDisconnect(disconnectedEndpoint); + } catch (Exception e) { + logger.warn( + "BlockNumberNotifyHandler exception, e: {}", + e.getMessage(), + e); + } } }); }