bugfix: make unjoined nodes consider all IDs to be their responsibility
This commit is contained in:
parent
2b418189a6
commit
cd8ea07600
|
@ -106,9 +106,6 @@ queryLocalCache ownState nCache lBestNodes targetID
|
||||||
-- the closest succeeding node (like with the p initiated parallel queries
|
-- the closest succeeding node (like with the p initiated parallel queries
|
||||||
| otherwise = FORWARD $ closestSuccessor `Set.union` closestCachePredecessors (lBestNodes-1) targetID nCache
|
| otherwise = FORWARD $ closestSuccessor `Set.union` closestCachePredecessors (lBestNodes-1) targetID nCache
|
||||||
where
|
where
|
||||||
ownID = getNid ownState
|
|
||||||
preds = predecessors ownState
|
|
||||||
|
|
||||||
closestSuccessor :: Set.Set RemoteCacheEntry
|
closestSuccessor :: Set.Set RemoteCacheEntry
|
||||||
closestSuccessor = maybe Set.empty (Set.singleton . toRemoteCacheEntry) $ cacheLookupSucc targetID nCache
|
closestSuccessor = maybe Set.empty (Set.singleton . toRemoteCacheEntry) $ cacheLookupSucc targetID nCache
|
||||||
|
|
||||||
|
@ -433,7 +430,9 @@ respondJoin nsSTM msgSet = do
|
||||||
let
|
let
|
||||||
aRequestPart = Set.elemAt 0 msgSet
|
aRequestPart = Set.elemAt 0 msgSet
|
||||||
senderNS = sender aRequestPart
|
senderNS = sender aRequestPart
|
||||||
responsibilityLookup = queryLocalCache nsSnap cache 1 (getNid senderNS)
|
-- if not joined yet, attract responsibility for
|
||||||
|
-- all keys to make bootstrapping possible
|
||||||
|
responsibilityLookup = if isJoined nsSnap then queryLocalCache nsSnap cache 1 (getNid senderNS) else FOUND (toRemoteNodeState nsSnap)
|
||||||
thisNodeResponsible (FOUND _) = True
|
thisNodeResponsible (FOUND _) = True
|
||||||
thisNodeResponsible (FORWARD _) = False
|
thisNodeResponsible (FORWARD _) = False
|
||||||
-- check whether the joining node falls into our responsibility
|
-- check whether the joining node falls into our responsibility
|
||||||
|
|
Loading…
Reference in a new issue