Skip to content

Commit

Permalink
[VL] Remove suspend section when spilling Velox task (#6875)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhztheplayer authored Aug 16, 2024
1 parent 29bba29 commit 3b6924a
Showing 1 changed file with 0 additions and 26 deletions.
26 changes: 0 additions & 26 deletions cpp/velox/compute/WholeStageResultIterator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -210,29 +210,6 @@ std::shared_ptr<ColumnarBatch> WholeStageResultIterator::next() {
return std::make_shared<VeloxColumnarBatch>(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<velox::memory::MemoryReclaimer> 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()};
Expand All @@ -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.";
Expand Down

0 comments on commit 3b6924a

Please sign in to comment.