diff --git a/plenum/server/pool_req_handler.py b/plenum/server/pool_req_handler.py index b5b5f71ebf..e55e1e5ced 100644 --- a/plenum/server/pool_req_handler.py +++ b/plenum/server/pool_req_handler.py @@ -80,8 +80,7 @@ def authErrorWhileAddingNode(self, request): origin) if self.stewardHasNode(origin): return "{} already has a node".format(origin) - if self.isNodeDataConflicting( - operation.get(DATA, request.operation.get(TARGET_NYM))): + if self.isNodeDataConflicting(data): return "existing data has conflicts with " \ "request data {}".format(operation.get(DATA)) @@ -157,14 +156,14 @@ def isNodeDataSame(self, nodeNym, newData, isCommitted=True): nodeInfo.pop(f.IDENTIFIER.nm, None) return nodeInfo == newData - def isNodeDataConflicting(self, data, nodeNym=None): + def isNodeDataConflicting(self, data, updatingNym=None): # Check if node's ALIAS or IPs or ports conflicts with other nodes, # also, the node is not allowed to change its alias. # Check ALIAS change nodeData = {} - if nodeNym: - nodeData = self.getNodeData(nodeNym, isCommitted=False) + if updatingNym: + nodeData = self.getNodeData(updatingNym, isCommitted=False) if nodeData.get(ALIAS) != data.get(ALIAS): return True else: @@ -178,7 +177,7 @@ def isNodeDataConflicting(self, data, nodeNym=None): otherNodeData = self.stateSerializer.deserialize(otherNodeData) otherNodeData.pop(f.IDENTIFIER.nm, None) otherNodeData.pop(SERVICES, None) - if not nodeNym or otherNode != nodeNym: + if not updatingNym or otherNode != updatingNym: # The node's ip, port and alias shuuld be unique bag = set() for d in (nodeData, otherNodeData): @@ -192,8 +191,8 @@ def isNodeDataConflicting(self, data, nodeNym=None): if (not nodeData and len(bag) != 3) or ( nodeData and len(bag) != 6): return True - if nodeData.get(ALIAS) == otherNodeData.get( - ALIAS) and not nodeNym or otherNode != nodeNym: + if data.get(ALIAS) == otherNodeData.get( + ALIAS) and not updatingNym: return True def dataErrorWhileValidatingUpdate(self, data, nodeNym):