fix: the newest log router needs to start where the last old one ends

This commit is contained in:
Evan Tschannen 2018-04-15 14:54:22 -07:00
parent 5533016f1e
commit e53f17a83a
2 changed files with 2 additions and 1 deletions

View File

@ -2040,6 +2040,7 @@ static std::set<int> const& normalDDQueueErrors() {
s.insert( error_code_broken_promise );
s.insert( error_code_master_recovery_failed );
s.insert( error_code_coordinated_state_conflict );
s.insert( error_code_worker_removed );
}
return s;
}

View File

@ -1505,7 +1505,7 @@ struct TagPartitionedLogSystem : ILogSystem, ReferenceCounted<TagPartitionedLogS
req.recoveryCount = recoveryCount;
req.routerTag = Tag(tagLocalityLogRouter, i);
req.logSet = self->tLogs.size();
req.startVersion = logSet->startVersion;
req.startVersion = std::max(self->tLogs[0]->startVersion, logSet->startVersion);
logRouterInitializationReplies.push_back( transformErrors( throwErrorOr( remoteWorkers.logRouters[i].logRouter.getReplyUnlessFailedFor( req, SERVER_KNOBS->TLOG_TIMEOUT, SERVER_KNOBS->MASTER_FAILURE_SLOPE_DURING_RECOVERY ) ), master_recovery_failed() ) );
}