fix: do not include logRouter tags in lock results

This commit is contained in:
Evan Tschannen 2018-04-09 10:48:57 -07:00
parent 7af892f50b
commit 4c89f721cd
2 changed files with 9 additions and 13 deletions

View File

@ -514,7 +514,7 @@ ACTOR Future<Void> tLogLock( TLogData* self, ReplyPromise< TLogLockResult > repl
for(int tag_locality = 0; tag_locality < logData->tag_data.size(); tag_locality++) {
for(int tag_id = 0; tag_id < logData->tag_data[tag_locality].size(); tag_id++) {
if(logData->tag_data[tag_locality][tag_id] && (!logData->tag_data[tag_locality][tag_id]->nothing_persistent || logData->tag_data[tag_locality][tag_id]->version_messages.size() || logData->tag_data[tag_locality][tag_id]->unpoppedRecovered)) {
if(logData->tag_data[tag_locality][tag_id] && logData->tag_data[tag_locality][tag_id]->tag.locality != tagLocalityLogRouter && (!logData->tag_data[tag_locality][tag_id]->nothing_persistent || logData->tag_data[tag_locality][tag_id]->version_messages.size() || logData->tag_data[tag_locality][tag_id]->unpoppedRecovered)) {
result.tags.push_back(logData->tag_data[tag_locality][tag_id]->tag);
}
}

View File

@ -1600,12 +1600,10 @@ struct TagPartitionedLogSystem : ILogSystem, ReferenceCounted<TagPartitionedLogS
std::vector<int> locations;
for( Tag tag : oldLogSystem->getEpochEndTags() ) {
if(tag.locality != tagLocalityLogRouter) {
locations.clear();
logSystem->tLogs[0]->getPushLocations( vector<Tag>(1, tag), locations, 0 );
for(int loc : locations)
reqs[ loc ].recoverTags.push_back( tag );
}
locations.clear();
logSystem->tLogs[0]->getPushLocations( vector<Tag>(1, tag), locations, 0 );
for(int loc : locations)
reqs[ loc ].recoverTags.push_back( tag );
}
for( int i = 0; i < recr.tLogs.size(); i++ )
@ -1639,12 +1637,10 @@ struct TagPartitionedLogSystem : ILogSystem, ReferenceCounted<TagPartitionedLogS
filterLocalityDataForPolicy(logSystem->tLogs[1]->tLogPolicy, &logSystem->tLogs[1]->tLogLocalities);
for( Tag tag : oldLogSystem->getEpochEndTags() ) {
if(tag.locality != tagLocalityLogRouter) {
locations.clear();
logSystem->tLogs[1]->getPushLocations( vector<Tag>(1, tag), locations, 0 );
for(int loc : locations)
sreqs[ loc ].recoverTags.push_back( tag );
}
locations.clear();
logSystem->tLogs[1]->getPushLocations( vector<Tag>(1, tag), locations, 0 );
for(int loc : locations)
sreqs[ loc ].recoverTags.push_back( tag );
}
for( int i = 0; i < recr.satelliteTLogs.size(); i++ )