remove TSS storage metadata part
This commit is contained in:
parent
a8bc81a09d
commit
101b6717e3
|
@ -132,7 +132,9 @@ public:
|
|||
|
||||
loop {
|
||||
choose {
|
||||
when(wait(self->buildTeams())) { return Void(); }
|
||||
when(wait(self->buildTeams())) {
|
||||
return Void();
|
||||
}
|
||||
when(wait(self->restartTeamBuilder.onTrigger())) {}
|
||||
}
|
||||
}
|
||||
|
@ -510,7 +512,9 @@ public:
|
|||
while (self->pauseWiggle && !self->pauseWiggle->get() && self->waitUntilRecruited.get()) {
|
||||
choose {
|
||||
when(wait(self->waitUntilRecruited.onChange() || self->pauseWiggle->onChange())) {}
|
||||
when(wait(delay(SERVER_KNOBS->PERPETUAL_WIGGLE_DELAY, g_network->getCurrentTask()))) { break; }
|
||||
when(wait(delay(SERVER_KNOBS->PERPETUAL_WIGGLE_DELAY, g_network->getCurrentTask()))) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1324,7 +1328,7 @@ public:
|
|||
// Restart the storeTracker for the new interface. This will cancel the previous
|
||||
// keyValueStoreTypeTracker
|
||||
// storeTypeTracker = (isTss) ? Never() : keyValueStoreTypeTracker(self, server);
|
||||
storageMetadataTracker = updateStorageMetadata(self, server, isTss);
|
||||
storageMetadataTracker = self->updateStorageMetadata(server, isTss);
|
||||
hasWrongDC = !self->isCorrectDC(*server);
|
||||
hasInvalidLocality = !self->isValidLocality(self->configuration.storagePolicy,
|
||||
server->getLastKnownInterface().locality);
|
||||
|
@ -1343,7 +1347,9 @@ public:
|
|||
.detail("ConfigStoreType", self->configuration.storageServerStoreType)
|
||||
.detail("WrongStoreTypeRemoved", server->wrongStoreTypeToRemove.get());
|
||||
}
|
||||
when(wait(server->wakeUpTracker.getFuture())) { server->wakeUpTracker = Promise<Void>(); }
|
||||
when(wait(server->wakeUpTracker.getFuture())) {
|
||||
server->wakeUpTracker = Promise<Void>();
|
||||
}
|
||||
when(wait(storageMetadataTracker)) {}
|
||||
when(wait(server->ssVersionTooFarBehind.onChange())) {}
|
||||
when(wait(self->disableFailingLaggingServers.onChange())) {}
|
||||
|
@ -1494,20 +1500,6 @@ public:
|
|||
return Void();
|
||||
}
|
||||
|
||||
ACTOR static Future<Void> keyValueStoreTypeTracker(DDTeamCollection* self, TCServerInfo* server) {
|
||||
// Update server's storeType, especially when it was created
|
||||
wait(server->updateStoreType());
|
||||
|
||||
if (server->getStoreType() != self->configuration.storageServerStoreType) {
|
||||
if (self->wrongStoreTypeRemover.isReady()) {
|
||||
self->wrongStoreTypeRemover = removeWrongStoreType(self);
|
||||
self->addActor.send(self->wrongStoreTypeRemover);
|
||||
}
|
||||
}
|
||||
|
||||
return Never();
|
||||
}
|
||||
|
||||
ACTOR static Future<Void> storageServerFailureTracker(DDTeamCollection* self,
|
||||
TCServerInfo* server,
|
||||
Database cx,
|
||||
|
@ -2067,7 +2059,9 @@ public:
|
|||
.detail("ExtraHealthyTeamCount", extraTeamCount)
|
||||
.detail("HealthyTeamCount", self->healthyTeamCount);
|
||||
}
|
||||
when(wait(pauseChanged)) { continue; }
|
||||
when(wait(pauseChanged)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2591,7 +2585,9 @@ public:
|
|||
}
|
||||
}
|
||||
}
|
||||
when(wait(recruitStorage->onChange())) { fCandidateWorker = Future<RecruitStorageReply>(); }
|
||||
when(wait(recruitStorage->onChange())) {
|
||||
fCandidateWorker = Future<RecruitStorageReply>();
|
||||
}
|
||||
when(wait(self->zeroHealthyTeams->onChange())) {
|
||||
if (!pendingTSSCheck && self->zeroHealthyTeams->get() &&
|
||||
(self->isTssRecruiting || self->tss_info_by_pair.size() > 0)) {
|
||||
|
@ -2876,18 +2872,16 @@ public:
|
|||
return Void();
|
||||
}
|
||||
|
||||
ACTOR static Future<Void> updateStorageMetadata(DDTeamCollection* self, TCServerInfo* server, bool isTss) {
|
||||
ACTOR static Future<Void> updateStorageMetadata(DDTeamCollection* self, TCServerInfo* server) {
|
||||
state KeyBackedObjectMap<UID, StorageMetadataType, decltype(IncludeVersion())> metadataMap(
|
||||
serverMetadataKeys.begin, IncludeVersion());
|
||||
state Reference<ReadYourWritesTransaction> tr = makeReference<ReadYourWritesTransaction>(self->cx);
|
||||
|
||||
// Update server's storeType, especially when it was created
|
||||
wait(server->updateStoreType());
|
||||
state StorageMetadataType data(
|
||||
StorageMetadataType::currentTime(),
|
||||
server->getStoreType(),
|
||||
isTss ? !server->isCorrectStoreType(self->configuration.testingStorageServerStoreType)
|
||||
: !server->isCorrectStoreType(self->configuration.storageServerStoreType));
|
||||
state StorageMetadataType data(StorageMetadataType::currentTime(),
|
||||
server->getStoreType(),
|
||||
!server->isCorrectStoreType(self->configuration.storageServerStoreType));
|
||||
|
||||
// read storage metadata
|
||||
loop {
|
||||
|
@ -2907,19 +2901,18 @@ public:
|
|||
}
|
||||
}
|
||||
// printf("------ updated metadata %s\n", server->getId().toString().c_str());
|
||||
if (!isTss) {
|
||||
// wrong store type handler
|
||||
if (!server->isCorrectStoreType(self->configuration.storageServerStoreType) &&
|
||||
self->wrongStoreTypeRemover.isReady()) {
|
||||
self->wrongStoreTypeRemover = removeWrongStoreType(self);
|
||||
self->addActor.send(self->wrongStoreTypeRemover);
|
||||
}
|
||||
// add server to wiggler
|
||||
if (self->storageWiggler->contains(server->getId())) {
|
||||
self->storageWiggler->updateMetadata(server->getId(), data);
|
||||
} else {
|
||||
self->storageWiggler->addServer(server->getId(), data);
|
||||
}
|
||||
|
||||
// wrong store type handler
|
||||
if (!server->isCorrectStoreType(self->configuration.storageServerStoreType) &&
|
||||
self->wrongStoreTypeRemover.isReady()) {
|
||||
self->wrongStoreTypeRemover = removeWrongStoreType(self);
|
||||
self->addActor.send(self->wrongStoreTypeRemover);
|
||||
}
|
||||
// add server to wiggler
|
||||
if (self->storageWiggler->contains(server->getId())) {
|
||||
self->storageWiggler->updateMetadata(server->getId(), data);
|
||||
} else {
|
||||
self->storageWiggler->addServer(server->getId(), data);
|
||||
}
|
||||
|
||||
return Never();
|
||||
|
@ -3427,10 +3420,6 @@ Future<Void> DDTeamCollection::removeBadTeams() {
|
|||
return DDTeamCollectionImpl::removeBadTeams(this);
|
||||
}
|
||||
|
||||
Future<Void> DDTeamCollection::keyValueStoreTypeTracker(TCServerInfo* server) {
|
||||
return DDTeamCollectionImpl::keyValueStoreTypeTracker(this, server);
|
||||
}
|
||||
|
||||
Future<Void> DDTeamCollection::storageServerFailureTracker(TCServerInfo* server,
|
||||
Database cx,
|
||||
ServerStatus* status,
|
||||
|
@ -3527,7 +3516,7 @@ Future<Void> DDTeamCollection::readStorageWiggleMap() {
|
|||
}
|
||||
|
||||
Future<Void> DDTeamCollection::updateStorageMetadata(TCServerInfo* server, bool isTss) {
|
||||
return DDTeamCollectionImpl::updateStorageMetadata(this, server, isTss);
|
||||
return isTss ? Never() : DDTeamCollectionImpl::updateStorageMetadata(this, server);
|
||||
}
|
||||
|
||||
void DDTeamCollection::resetLocalitySet() {
|
||||
|
|
|
@ -432,9 +432,6 @@ class DDTeamCollection : public ReferenceCounted<DDTeamCollection> {
|
|||
|
||||
bool isCorrectDC(TCServerInfo const& server) const;
|
||||
|
||||
// Set the server's storeType; Error is caught by the caller
|
||||
Future<Void> keyValueStoreTypeTracker(TCServerInfo* server);
|
||||
|
||||
Future<Void> storageServerFailureTracker(TCServerInfo* server,
|
||||
Database cx,
|
||||
ServerStatus* status,
|
||||
|
@ -486,7 +483,8 @@ class DDTeamCollection : public ReferenceCounted<DDTeamCollection> {
|
|||
});
|
||||
}
|
||||
|
||||
// Read storage metadata from database, and do necessary updates
|
||||
// Read storage metadata from database, get the server's storeType, and do necessary updates. Error is caught by the
|
||||
// caller
|
||||
Future<Void> updateStorageMetadata(TCServerInfo* server, bool isTss);
|
||||
|
||||
Future<Void> serverGetTeamRequests(TeamCollectionInterface tci);
|
||||
|
|
|
@ -584,13 +584,16 @@ struct RolesInfo {
|
|||
}
|
||||
}
|
||||
|
||||
TraceEventFields const& metadata = metrics.at("Metadata");
|
||||
JsonBuilderObject metadataObj;
|
||||
metadataObj["created_time_datetime"] = metadata.getValue("CreatedTimeDatetime");
|
||||
metadataObj["created_time_timestamp"] = metadata.getDouble("CreatedTimeTimestamp");
|
||||
metadataObj["storage_engine"] = metadata.getValue("StoreType");
|
||||
obj["storage_metadata"] = metadataObj;
|
||||
// printf("%s\n", metadataObj.getJson().c_str());
|
||||
if (!iface.isTss()) { // only storage server has Metadata field
|
||||
TraceEventFields const& metadata = metrics.at("Metadata");
|
||||
JsonBuilderObject metadataObj;
|
||||
metadataObj["created_time_datetime"] = metadata.getValue("CreatedTimeDatetime");
|
||||
metadataObj["created_time_timestamp"] = metadata.getDouble("CreatedTimeTimestamp");
|
||||
metadataObj["storage_engine"] = metadata.getValue("StoreType");
|
||||
obj["storage_metadata"] = metadataObj;
|
||||
// printf("%s\n", metadataObj.getJson().c_str());
|
||||
}
|
||||
|
||||
} catch (Error& e) {
|
||||
if (e.code() != error_code_attribute_not_found)
|
||||
throw e;
|
||||
|
@ -1974,7 +1977,7 @@ ACTOR static Future<std::vector<std::pair<StorageServerInterface, EventMap>>> ge
|
|||
metadataField.addField("CreatedTimeDatetime", epochsToGMTString(metadata[i].get().createdTime));
|
||||
metadataField.addField("StoreType", metadata[i].get().storeType.toString());
|
||||
results[i].second.emplace("Metadata", metadataField);
|
||||
} else {
|
||||
} else if (!servers[i].isTss()) {
|
||||
TraceEventFields metadataField;
|
||||
metadataField.addField("CreatedTimeTimestamp", "0");
|
||||
metadataField.addField("CreatedTimeDatetime", "[removed]");
|
||||
|
|
Loading…
Reference in New Issue