fix: MultiPointCooperationExecutor

This commit is contained in:
CaiHQ
2022-02-18 11:14:11 +08:00
parent 604fdc80bd
commit f5c849893f
46 changed files with 83 additions and 10 deletions

Binary file not shown.

View File

@@ -0,0 +1,43 @@
org/bdware/consistency/plugin/ra/RequestAllResponseHalfFactory.java
org.bdware.consistency.plugin.ra.RequestAllResponseHalfFactory
org/bdware/consistency/plugin/ro/ResponseOnceExecutorFactory.java
org.bdware.consistency.plugin.ro.ResponseOnceExecutorFactory
org/bdware/consistency/plugin/ro/RequestOnceExecutorFactory.java
org.bdware.consistency.plugin.ro.RequestOnceExecutorFactory
org/bdware/consistency/plugin/pbft/PBFTExecutorFactory.java
org.bdware.consistency.plugin.pbft.PBFTExecutorFactory
org/bdware/consistency/plugin/sharding/SelfAdaptiveShardingExecutorFactory.java
org.bdware.consistency.plugin.sharding.SelfAdaptiveShardingExecutorFactory
org/bdware/consistency/plugin/ra/RequestAllResponseAllFactory.java
org.bdware.consistency.plugin.ra.RequestAllResponseAllFactory
org/bdware/consistency/plugin/ra/RequestAllResponseFirstFactory.java
org.bdware.consistency.plugin.ra.RequestAllResponseFirstFactory
org/bdware/consistency/plugin/sharding/MultiPointCooperationExecutorFactory.java
org.bdware.consistency.plugin.sharding.MultiPointCooperationExecutorFactory
org/bdware/consistency/plugin/pbft/ContractCluster.java
org.bdware.consistency.plugin.pbft.ContractCluster
org/bdware/consistency/plugin/sharding/MultiPointCooperationExecutor.java
org.bdware.consistency.plugin.sharding.MultiPointCooperationExecutor
org.bdware.consistency.plugin.sharding.MultiPointCooperationExecutor$1
org.bdware.consistency.plugin.sharding.MultiPointCooperationExecutor$ResultMerger
org/bdware/consistency/plugin/pbft/PBFTExecutor.java
org.bdware.consistency.plugin.pbft.PBFTExecutor
org.bdware.consistency.plugin.pbft.PBFTExecutor$1
org.bdware.consistency.plugin.pbft.PBFTExecutor$1$1
org.bdware.consistency.plugin.pbft.PBFTExecutor$ResultMerger
org/bdware/consistency/plugin/common/AbstractContextContractExecutor.java
org.bdware.consistency.plugin.common.AbstractContextContractExecutor
org/bdware/consistency/plugin/single/SingleNodeExecutorFactory.java
org.bdware.consistency.plugin.single.SingleNodeExecutorFactory
org/bdware/consistency/plugin/ra/RequestAllExecutor.java
org.bdware.consistency.plugin.ra.RequestAllExecutor
org.bdware.consistency.plugin.ra.RequestAllExecutor$ResultMerger
org/bdware/consistency/plugin/sharding/SelfAdaptiveShardingExecutor.java
org.bdware.consistency.plugin.sharding.SelfAdaptiveShardingExecutor
org.bdware.consistency.plugin.sharding.SelfAdaptiveShardingExecutor$Block
org/bdware/consistency/plugin/ro/RequestOnceExecutor.java
org.bdware.consistency.plugin.ro.RequestOnceExecutor
org.bdware.consistency.plugin.ro.RequestOnceExecutor$1
org/bdware/consistency/plugin/ro/ResponseOnceExecutor.java
org.bdware.consistency.plugin.ro.ResponseOnceExecutor
org.bdware.consistency.plugin.ro.ResponseOnceExecutor$1

View File

@@ -0,0 +1 @@

View File

@@ -87,7 +87,7 @@ public class MultiPointCooperationExecutor extends AbstractContextContractExecut
"[sendRequests] get cmNode "
+ node.substring(0, 5)
+ " not null "
+ "org.bdware.consistency.plugin.ra.RequestAllExecutor 发送请求给 "
+ "RequestAllExecutor 发送请求给 "
+ node.substring(0, 5));
networkManager.sendToAgent(node, sendStr);
}
@@ -137,9 +137,9 @@ public class MultiPointCooperationExecutor extends AbstractContextContractExecut
// List<String> nodes = info.members;
int validNode = 0;
for (String node : nodes) {
if (networkManager.hasAgentConnection(node)
&& masterServerRecoverMechAction.getRecoverStatusMap().get(node).get(contractID)
== RecoverFlag.Fine) {
if (networkManager.hasAgentConnection(node)) {
//&& masterServerRecoverMechAction.getRecoverStatusMap().get(node).get(contractID)
// == RecoverFlag.Fine
validNode++;
}
}
@@ -151,7 +151,7 @@ public class MultiPointCooperationExecutor extends AbstractContextContractExecut
@Override
public void execute(String requestID, ContractRequest req, ResultCallback rc, OnHashCallback hcb) {
LOGGER.info("[org.bdware.consistency.plugin.sharding.MultiPointCooperationExecutor] execute " + JsonUtil.toJson(req));
LOGGER.info("[MultiPointCooperationExecutor] execute " + JsonUtil.toJson(req));
// 获得action 函数名
LOGGER.info("action is : " + req.getAction());
req.setContractID(cmActions.getManager().getContractIDByName(req.getContractID()));
@@ -208,13 +208,12 @@ public class MultiPointCooperationExecutor extends AbstractContextContractExecut
private int getJoinCount(JoinInfo joinInfo, String contractID) {
if (joinInfo == null) return resultCount;
if (joinInfo.joinCount.isJsonPrimitive() && joinInfo.joinCount.getAsJsonPrimitive().isNumber()) {
return joinInfo.joinCount.getAsJsonPrimitive().getAsInt();
}
if (joinInfo != null) return joinInfo.joinCount;
try {
ContractRequest cr = new ContractRequest();
cr.setContractID(contractID);
cr.setAction(joinInfo.joinCount.getAsString());
cr.setAction("TODO");
//TODO Arg需要好好设计一下。
//TODO 又好用又简单的那种设计
//TODO