From 3b6924a414bae4187a10fd070e8f50d60eb5710d Mon Sep 17 00:00:00 2001 From: Hongze Zhang Date: Fri, 16 Aug 2024 11:17:39 +0800 Subject: [PATCH] [VL] Remove suspend section when spilling Velox task (#6875) --- cpp/velox/compute/WholeStageResultIterator.cc | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/cpp/velox/compute/WholeStageResultIterator.cc b/cpp/velox/compute/WholeStageResultIterator.cc index b9c7900017d9..34d0d2db0e7a 100644 --- a/cpp/velox/compute/WholeStageResultIterator.cc +++ b/cpp/velox/compute/WholeStageResultIterator.cc @@ -210,29 +210,6 @@ std::shared_ptr WholeStageResultIterator::next() { return std::make_shared(vector); } -namespace { -class SuspendedSection { - public: - SuspendedSection() { - reclaimer_->enterArbitration(); - } - - virtual ~SuspendedSection() { - reclaimer_->leaveArbitration(); - } - - // singleton - SuspendedSection(const SuspendedSection&) = delete; - SuspendedSection(SuspendedSection&&) = delete; - SuspendedSection& operator=(const SuspendedSection&) = delete; - SuspendedSection& operator=(SuspendedSection&&) = delete; - - private: - // We only use suspension APIs in exec::MemoryReclaimer. - std::unique_ptr reclaimer_{velox::exec::MemoryReclaimer::create()}; -}; -} // namespace - int64_t WholeStageResultIterator::spillFixedSize(int64_t size) { auto pool = memoryManager_->getAggregateMemoryPool(); std::string poolName{pool->root()->name() + "/" + pool->name()}; @@ -242,9 +219,6 @@ int64_t WholeStageResultIterator::spillFixedSize(int64_t size) { if (spillStrategy_ == "auto") { int64_t remaining = size - shrunken; LOG(INFO) << logPrefix << "Trying to request spilling for " << remaining << " bytes..."; - // suspend the driver when we are on it - SuspendedSection suspender; - velox::exec::MemoryReclaimer::Stats status; auto* mm = memoryManager_->getMemoryManager(); uint64_t spilledOut = mm->arbitrator()->shrinkCapacity(remaining); // this conducts spilling LOG(INFO) << logPrefix << "Successfully spilled out " << spilledOut << " bytes.";