MCPcopy Create free account
hub / github.com/apple/foundationdb / pushResetChecker

Method pushResetChecker

fdbserver/TagPartitionedLogSystem.actor.cpp:469–483  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

467}
468
469ACTOR Future<Void> TagPartitionedLogSystem::pushResetChecker(Reference<ConnectionResetInfo> self, NetworkAddress addr) {
470 self->slowReplies = 0;
471 self->fastReplies = 0;
472 wait(delay(SERVER_KNOBS->PUSH_STATS_INTERVAL));
473 TraceEvent("SlowPushStats")
474 .detail("PeerAddress", addr)
475 .detail("SlowReplies", self->slowReplies)
476 .detail("FastReplies", self->fastReplies);
477 if (self->slowReplies >= SERVER_KNOBS->PUSH_STATS_SLOW_AMOUNT &&
478 self->slowReplies / double(self->slowReplies + self->fastReplies) >= SERVER_KNOBS->PUSH_STATS_SLOW_RATIO) {
479 FlowTransport::transport().resetConnection(addr);
480 self->lastReset = now();
481 }
482 return Void();
483}
484
485ACTOR Future<TLogCommitReply> TagPartitionedLogSystem::recordPushMetrics(Reference<ConnectionResetInfo> self,
486 Reference<Histogram> dist,

Callers

nothing calls this directly

Calls 6

delayFunction · 0.85
TraceEventClass · 0.85
nowFunction · 0.85
detailMethod · 0.80
resetConnectionMethod · 0.80
VoidClass · 0.50

Tested by

no test coverage detected