From 43a28c254ab0e313d284eb145876b8b494ef2a01 Mon Sep 17 00:00:00 2001 From: Chaoguang Lin Date: Tue, 12 May 2020 12:14:25 -0700 Subject: [PATCH] fix the bug when moving over null-impl-range --- fdbclient/SpecialKeySpace.actor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fdbclient/SpecialKeySpace.actor.cpp b/fdbclient/SpecialKeySpace.actor.cpp index 29bbedf7cd..167f1ae833 100644 --- a/fdbclient/SpecialKeySpace.actor.cpp +++ b/fdbclient/SpecialKeySpace.actor.cpp @@ -99,9 +99,9 @@ ACTOR Future normalizeKeySelectorActor(SpecialKeySpace* sks, ReferencegetImpls().rangeContaining(ks->getKey()); while ((ks->offset < 1 && iter != sks->getImpls().ranges().begin()) || (ks->offset > 1 && iter != sks->getImpls().ranges().end())) { - onModuleRead(ryw, sks->getImplToModuleMap().at(iter->value()), *lastModuleRead); if (iter->value() != nullptr) { wait(moveKeySelectorOverRangeActor(iter->value(), ryw, ks)); + onModuleRead(ryw, sks->getImplToModuleMap().at(iter->value()), *lastModuleRead); } ks->offset < 1 ? --iter : ++iter; } @@ -172,8 +172,8 @@ SpecialKeySpace::getRangeAggregationActor(SpecialKeySpace* sks, ReferencegetImplToModuleMap().at(iter->value()), lastModuleRead); if (iter->value() == nullptr) continue; + onModuleRead(ryw, sks->getImplToModuleMap().at(iter->value()), lastModuleRead); KeyRangeRef kr = iter->range(); KeyRef keyStart = kr.contains(begin.getKey()) ? begin.getKey() : kr.begin; KeyRef keyEnd = kr.contains(end.getKey()) ? end.getKey() : kr.end; @@ -195,8 +195,8 @@ SpecialKeySpace::getRangeAggregationActor(SpecialKeySpace* sks, ReferencegetImplToModuleMap().at(iter->value()), lastModuleRead); if (iter->value() == nullptr) continue; + onModuleRead(ryw, sks->getImplToModuleMap().at(iter->value()), lastModuleRead); KeyRangeRef kr = iter->range(); KeyRef keyStart = kr.contains(begin.getKey()) ? begin.getKey() : kr.begin; KeyRef keyEnd = kr.contains(end.getKey()) ? end.getKey() : kr.end;