Browse Source

solve ncp layer code bug

tags/1.0.0
zhangshuang 5 years ago
parent
commit
0a0dffc99e
3 changed files with 8 additions and 8 deletions
  1. +6
    -6
      source/state-transfer/src/main/java/com/jd/blockchain/statetransfer/process/DSProcessManager.java
  2. +1
    -1
      source/stp/stp-communication/src/main/java/com/jd/blockchain/stp/communication/connection/handler/ReceiverHandler.java
  3. +1
    -1
      source/stp/stp-communication/src/main/java/com/jd/blockchain/stp/communication/manager/ConnectionManager.java

+ 6
- 6
source/state-transfer/src/main/java/com/jd/blockchain/statetransfer/process/DSProcessManager.java View File

@@ -55,7 +55,7 @@ public class DSProcessManager {
try { try {


//wait all listener nodes start //wait all listener nodes start
Thread.sleep(10000);
Thread.sleep(2000);


// start network connections with targets // start network connections with targets
dsTransferProcess.start(); dsTransferProcess.start();
@@ -89,17 +89,17 @@ public class DSProcessManager {
} }
} }


System.out.println("Compute diff info!");
System.out.printf("%s:%d Compute diff info!\r\n", listener.getHostName(), listener.getPort());
// step3: process received responses // step3: process received responses
DSInfoResponseResult diffResult = dsTransferProcess.computeDiffInfo(receiveResponses); DSInfoResponseResult diffResult = dsTransferProcess.computeDiffInfo(receiveResponses);


System.out.println("Diff info result height = " + diffResult.getMaxHeight() + "!");
System.out.printf("%s:%d Diff info result height = %x!\r\n", listener.getHostName(), listener.getPort(), diffResult.getMaxHeight());


// height diff // height diff
long diff = dsInfo.getHeight() - diffResult.getMaxHeight(); long diff = dsInfo.getHeight() - diffResult.getMaxHeight();


if (diff == 0 || diff > 0) { if (diff == 0 || diff > 0) {
System.out.println("No duplication is required!");
System.out.printf("%s:%d No duplication is required!\r\n", listener.getHostName(), listener.getPort());
// no duplication is required, life cycle ends // no duplication is required, life cycle ends
// dsTransferProcess.close(); // dsTransferProcess.close();
dSProcessMap.remove(dsInfo.getId()); dSProcessMap.remove(dsInfo.getId());
@@ -107,7 +107,7 @@ public class DSProcessManager {


} }
else { else {
System.out.println("Duplication is required!");
System.out.printf("%s:%d Duplication is required!\r\n", listener.getHostName(), listener.getPort());
// step4: async send get data sequence diff request // step4: async send get data sequence diff request
// single step get diff // single step get diff
// async message send process // async message send process
@@ -138,7 +138,7 @@ public class DSProcessManager {
} }
} }


System.out.println("ReceiveDiffResponses size = "+ receiveDiffResponses.size());
System.out.printf("%s:%d ReceiveDiffResponses size = %d !\r\n", listener.getHostName(), listener.getPort(), receiveDiffResponses.size());
// step6: process data sequence diff response, update local data sequence state // step6: process data sequence diff response, update local data sequence state
System.out.println("Compute diff elements!"); System.out.println("Compute diff elements!");
ArrayList<DataSequenceElement> dataSequenceElements = dsTransferProcess.computeDiffElement(receiveDiffResponses.toArray(new byte[receiveDiffResponses.size()][])); ArrayList<DataSequenceElement> dataSequenceElements = dsTransferProcess.computeDiffElement(receiveDiffResponses.toArray(new byte[receiveDiffResponses.size()][]));


+ 1
- 1
source/stp/stp-communication/src/main/java/com/jd/blockchain/stp/communication/connection/handler/ReceiverHandler.java View File

@@ -251,7 +251,7 @@ public class ReceiverHandler extends ChannelInboundHandlerAdapter implements Clo


// Double check !!! // Double check !!!
if (!remoteSessions.containsKey(sessionId)) { if (!remoteSessions.containsKey(sessionId)) {
remoteSessions.put(sessionId, remoteSession);
this.putRemoteSession(sessionId, remoteSession);
} }
} }
} finally { } finally {


+ 1
- 1
source/stp/stp-communication/src/main/java/com/jd/blockchain/stp/communication/manager/ConnectionManager.java View File

@@ -33,7 +33,7 @@ public class ConnectionManager {
* Connection对应Map * Connection对应Map
* RemoteNode唯一性:IP(HOST)+PORT * RemoteNode唯一性:IP(HOST)+PORT
*/ */
private static final Map<RemoteNode, Connection> connectionMap = new ConcurrentHashMap<>();
private final Map<RemoteNode, Connection> connectionMap = new ConcurrentHashMap<>();


/** /**
* 连接管理器对应MAP * 连接管理器对应MAP


Loading…
Cancel
Save