Added span trace in serveLiveCommittedVersion

This commit is contained in:
Young Liu 2020-06-13 17:47:13 -07:00
parent f211a54593
commit bf524fc6f2
3 changed files with 6 additions and 3 deletions

View File

@ -183,6 +183,7 @@ struct GetCommitVersionRequest {
struct ReportRawCommittedVersionRequest {
constexpr static FileIdentifier file_identifier = 1853148;
SpanID spanContext;
Version version;
bool locked;
Optional<Value> metadataVersion;
@ -190,11 +191,11 @@ struct ReportRawCommittedVersionRequest {
ReplyPromise<Void> reply;
ReportRawCommittedVersionRequest() : version(invalidVersion), locked(false) {}
ReportRawCommittedVersionRequest(Version version, bool locked, Optional<Value> metadataVersion) : version(version), locked(locked), metadataVersion(metadataVersion) {}
ReportRawCommittedVersionRequest(SpanID spanContext, Version version, bool locked, Optional<Value> metadataVersion) : spanContext(spanContext), version(version), locked(locked), metadataVersion(metadataVersion) {}
template <class Ar>
void serialize(Ar& ar) {
serializer(ar, version, locked, metadataVersion, reply);
serializer(ar, version, locked, metadataVersion, reply, spanContext);
}
};

View File

@ -1294,7 +1294,7 @@ ACTOR Future<Void> commitBatch(
if (SERVER_KNOBS->ASK_READ_VERSION_FROM_MASTER) {
// Let master know this commit version so that every other proxy can know.
wait(self->master.reportLiveCommittedVersion.getReply(ReportRawCommittedVersionRequest(commitVersion, lockedAfter, metadataVersionAfter), TaskPriority::ProxyMasterVersionReply));
wait(self->master.reportLiveCommittedVersion.getReply(ReportRawCommittedVersionRequest(span->context, commitVersion, lockedAfter, metadataVersionAfter), TaskPriority::ProxyMasterVersionReply));
}
TEST(self->committedVersion.get() > commitVersion); // A later version was reported committed first

View File

@ -1008,6 +1008,7 @@ ACTOR Future<Void> serveLiveCommittedVersion(Reference<MasterData> self) {
loop {
choose {
when(GetRawCommittedVersionRequest req = waitNext(self->myInterface.getLiveCommittedVersion.getFuture())) {
Span span("MS:getLiveCommittedVersion"_loc, { req.spanContext });
if (req.debugID.present())
g_traceBatch.addEvent("TransactionDebug", req.debugID.get().first(), "MasterServer.serveLiveCommittedVersion.GetRawCommittedVersion");
@ -1021,6 +1022,7 @@ ACTOR Future<Void> serveLiveCommittedVersion(Reference<MasterData> self) {
req.reply.send(reply);
}
when(ReportRawCommittedVersionRequest req = waitNext(self->myInterface.reportLiveCommittedVersion.getFuture())) {
Span span("MS:reportLiveCommittedVersion"_loc, { req.spanContext });
if (req.version > self->liveCommittedVersion) {
self->liveCommittedVersion = req.version;
self->databaseLocked = req.locked;