@@ -72,17 +72,15 @@ PeriodicTaskManager::PeriodicTaskManager(
7272 const std::unordered_map<
7373 std::string,
7474 std::shared_ptr<velox::connector::Connector>>& connectors,
75- PrestoServer* server,
76- size_t stuckDriverThresholdMs)
75+ PrestoServer* server)
7776 : driverCPUExecutor_(driverCPUExecutor),
7877 httpExecutor_ (httpExecutor),
7978 taskManager_(taskManager),
8079 memoryAllocator_(memoryAllocator),
8180 asyncDataCache_(asyncDataCache),
8281 arbitrator_(velox::memory::memoryManager()->arbitrator()),
8382 connectors_(connectors),
84- server_(server),
85- stuckDriverThresholdMs_(stuckDriverThresholdMs) {}
83+ server_(server) {}
8684
8785void PeriodicTaskManager::start () {
8886 // If executors are null, don't bother starting this task.
@@ -124,12 +122,12 @@ void PeriodicTaskManager::start() {
124122
125123 addWatchdogTask ();
126124
127- onceRunner_ .start ();
125+ oneTimeRunner_ .start ();
128126}
129127
130128void PeriodicTaskManager::stop () {
131- onceRunner_ .cancelAllFunctionsAndWait ();
132- onceRunner_ .shutdown ();
129+ oneTimeRunner_ .cancelAllFunctionsAndWait ();
130+ oneTimeRunner_ .shutdown ();
133131 repeatedRunner_.stop ();
134132}
135133
@@ -463,11 +461,11 @@ class HiveConnectorStatsReporter {
463461 RECORD_METRIC_VALUE (curSizeMetricName_, stats.curSize );
464462 RECORD_METRIC_VALUE (numAccumulativeHitsMetricName_, stats.numHits );
465463 RECORD_METRIC_VALUE (numAccumulativeLookupsMetricName_, stats.numLookups );
466- RECORD_METRIC_VALUE (numHitsMetricName_, stats.numHits - oldNumHits_ );
467- oldNumHits_ = stats.numHits ;
464+ RECORD_METRIC_VALUE (numHitsMetricName_, stats.numHits - lastNumHits_ );
465+ lastNumHits_ = stats.numHits ;
468466 RECORD_METRIC_VALUE (
469- numLookupsMetricName_, stats.numLookups - oldNumLookups_ );
470- oldNumLookups_ = stats.numLookups ;
467+ numLookupsMetricName_, stats.numLookups - lastNumLookups_ );
468+ lastNumLookups_ = stats.numLookups ;
471469 }
472470
473471 private:
@@ -479,8 +477,8 @@ class HiveConnectorStatsReporter {
479477 const std::string numAccumulativeLookupsMetricName_;
480478 const std::string numHitsMetricName_;
481479 const std::string numLookupsMetricName_;
482- size_t oldNumHits_ {0 };
483- size_t oldNumLookups_ {0 };
480+ size_t lastNumHits_ {0 };
481+ size_t lastNumLookups_ {0 };
484482};
485483
486484} // namespace
@@ -663,29 +661,27 @@ void PeriodicTaskManager::addHttpEndpointLatencyStatsTask() {
663661
664662void PeriodicTaskManager::addWatchdogTask () {
665663 addTask (
666- [this ,
667- deadlockedTasks = std::vector<std::string>(),
668- opCalls = std::vector<velox::exec::Task::OpCallInfo>()]() mutable {
669- deadlockedTasks.clear ();
670- opCalls.clear ();
671- if (!taskManager_->getLongRunningOpCalls (
672- stuckDriverThresholdMs_, deadlockedTasks, opCalls)) {
664+ [this ] {
665+ std::vector<std::string> deadlockTasks;
666+ std::vector<velox::exec::Task::OpCallInfo> stuckOpCalls;
667+ if (!taskManager_->getStuckOpCalls (deadlockTasks, stuckOpCalls)) {
673668 LOG (ERROR )
674669 << " Cannot take lock on task manager, likely starving or deadlocked" ;
675- RECORD_METRIC_VALUE (kCounterNumTasksDeadlock , 1 );
670+ RECORD_METRIC_VALUE (kCounterNumTaskManagerLockTimeOut , 1 );
676671 detachWorker ();
677672 return ;
678673 }
679- for (auto & taskId : deadlockedTasks) {
674+ RECORD_METRIC_VALUE (kCounterNumTaskManagerLockTimeOut , 0 );
675+ for (const auto & taskId : deadlockTasks) {
680676 LOG (ERROR ) << " Starving or deadlocked task: " << taskId;
681677 }
682- RECORD_METRIC_VALUE (kCounterNumTasksDeadlock , deadlockedTasks .size ());
683- for (auto & call : opCalls ) {
678+ RECORD_METRIC_VALUE (kCounterNumTasksDeadlock , deadlockTasks .size ());
679+ for (const auto & call : stuckOpCalls ) {
684680 LOG (ERROR ) << " Stuck operator: tid=" << call.tid
685681 << " taskId=" << call.taskId << " opId=" << call.opId ;
686682 }
687- RECORD_METRIC_VALUE (kCounterNumStuckDrivers , opCalls .size ());
688- if (!deadlockedTasks .empty () || !opCalls .empty ()) {
683+ RECORD_METRIC_VALUE (kCounterNumStuckDrivers , stuckOpCalls .size ());
684+ if (!deadlockTasks .empty () || !stuckOpCalls .empty ()) {
689685 detachWorker ();
690686 }
691687 },
0 commit comments