diff --git a/cpp/velox/memory/GlutenDirectBufferedInput.h b/cpp/velox/memory/GlutenDirectBufferedInput.h index 3aef323da7bc..66b6a91d1900 100644 --- a/cpp/velox/memory/GlutenDirectBufferedInput.h +++ b/cpp/velox/memory/GlutenDirectBufferedInput.h @@ -48,6 +48,11 @@ class GlutenDirectBufferedInput : public facebook::velox::dwio::common::DirectBu ~GlutenDirectBufferedInput() override { requests_.clear(); + for (auto& load : coalescedLoads_) { + if (load->state() == facebook::velox::cache::CoalescedLoad::State::kPlanned) { + load->cancel(); + } + } for (auto& load : coalescedLoads_) { if (load->state() == facebook::velox::cache::CoalescedLoad::State::kLoading) { folly::SemiFuture waitFuture(false); @@ -56,7 +61,6 @@ class GlutenDirectBufferedInput : public facebook::velox::dwio::common::DirectBu std::move(waitFuture).via(&exec).wait(); } } - load->cancel(); } coalescedLoads_.clear(); }