1
0
Fork 0

Fixed creation of TraverserEngines Coordinator side. Now always the correct size of edge collections is transferred, even if the DBServer is only responsible for Vertex Collections.

This commit is contained in:
Michael Hackstein 2016-08-04 15:15:34 +02:00
parent 77378c2138
commit 9a7fed8247
1 changed files with 9 additions and 2 deletions

View File

@ -764,8 +764,10 @@ struct CoordinatorInstanciator : public WalkerWorker<ExecutionNode> {
auto serverList = clusterInfo->getResponsibleServer(shard);
TRI_ASSERT(!serverList->empty());
auto& pair = mappingServerToCollections[(*serverList)[0]];
if (pair.first.size() == i) {
pair.first.emplace_back();
if (pair.first.empty()) {
// We need to exactly maintain the ordering.
// A server my be responsible for a shard in edge collection 1 but not 0 or 2.
pair.first.resize(length);
}
pair.first[i].emplace_back(shard);
}
@ -776,6 +778,11 @@ struct CoordinatorInstanciator : public WalkerWorker<ExecutionNode> {
auto serverList = clusterInfo->getResponsibleServer(shard);
TRI_ASSERT(!serverList->empty());
auto& pair = mappingServerToCollections[(*serverList)[0]];
if (pair.first.empty()) {
// We need to exactly maintain the ordering.
// A server my be responsible for a shard in edge collection 1 but not 0 or 2.
pair.first.resize(length);
}
pair.second.emplace_back(shard);
}
}