Merge pull request #4811 from RenxuanW/worker-fix
Only log timeout when CC is unknown for a worker.
This commit is contained in:
commit
dad265b1c6
|
@ -616,7 +616,7 @@ void ServerKnobs::initialize(bool randomize, ClientKnobs* clientKnobs, bool isSi
|
|||
//Worker
|
||||
init( WORKER_LOGGING_INTERVAL, 5.0 );
|
||||
init( HEAP_PROFILER_INTERVAL, 30.0 );
|
||||
init( REGISTER_WORKER_REQUEST_TIMEOUT, 300.0 );
|
||||
init( UNKNOWN_CC_TIMEOUT, 600.0 );
|
||||
init( DEGRADED_RESET_INTERVAL, 24*60*60 ); if ( randomize && BUGGIFY ) DEGRADED_RESET_INTERVAL = 10;
|
||||
init( DEGRADED_WARNING_LIMIT, 1 );
|
||||
init( DEGRADED_WARNING_RESET_DELAY, 7*24*60*60 );
|
||||
|
|
|
@ -543,7 +543,7 @@ public:
|
|||
// Worker
|
||||
double WORKER_LOGGING_INTERVAL;
|
||||
double HEAP_PROFILER_INTERVAL;
|
||||
double REGISTER_WORKER_REQUEST_TIMEOUT;
|
||||
double UNKNOWN_CC_TIMEOUT;
|
||||
double DEGRADED_RESET_INTERVAL;
|
||||
double DEGRADED_WARNING_LIMIT;
|
||||
double DEGRADED_WARNING_RESET_DELAY;
|
||||
|
|
|
@ -554,20 +554,24 @@ ACTOR Future<Void> registrationClient(Reference<AsyncVar<Optional<ClusterControl
|
|||
}
|
||||
}
|
||||
|
||||
state bool ccInterfacePresent = ccInterface->get().present();
|
||||
state Future<RegisterWorkerReply> registrationReply =
|
||||
ccInterface->get().present()
|
||||
? brokenPromiseToNever(ccInterface->get().get().registerWorker.getReply(request))
|
||||
: Never();
|
||||
ccInterfacePresent ? brokenPromiseToNever(ccInterface->get().get().registerWorker.getReply(request))
|
||||
: Never();
|
||||
state double startTime = now();
|
||||
loop choose {
|
||||
when(RegisterWorkerReply reply = wait(registrationReply)) {
|
||||
processClass = reply.processClass;
|
||||
asyncPriorityInfo->set(reply.priorityInfo);
|
||||
TraceEvent("WorkerRegisterReply").detail("CCID", ccInterface->get().get().id());
|
||||
TraceEvent("WorkerRegisterReply")
|
||||
.detail("CCID", ccInterface->get().get().id())
|
||||
.detail("ProcessClass", reply.processClass.toString());
|
||||
break;
|
||||
}
|
||||
when(wait(delay(SERVER_KNOBS->REGISTER_WORKER_REQUEST_TIMEOUT))) {
|
||||
TraceEvent(SevWarn, "WorkerRegisterTimeout").detail("WaitTime", now() - startTime);
|
||||
when(wait(delay(SERVER_KNOBS->UNKNOWN_CC_TIMEOUT))) {
|
||||
if (!ccInterfacePresent) {
|
||||
TraceEvent(SevWarn, "WorkerRegisterTimeout").detail("WaitTime", now() - startTime);
|
||||
}
|
||||
}
|
||||
when(wait(ccInterface->onChange())) { break; }
|
||||
when(wait(ddInterf->onChange())) { break; }
|
||||
|
|
Loading…
Reference in New Issue