diff --git a/cloud/src/recycler/recycler.cpp b/cloud/src/recycler/recycler.cpp index 5f30536078fbbe..84ec1071f6c20c 100644 --- a/cloud/src/recycler/recycler.cpp +++ b/cloud/src/recycler/recycler.cpp @@ -3909,7 +3909,7 @@ int InstanceRecycler::scan_and_recycle( }; std::unique_ptr it; - do { + while (!stopped()) { if (get_range_retried > 1000) { err = "txn_get exceeds max retry, may not scan all keys"; ret = -1; @@ -3948,7 +3948,10 @@ int InstanceRecycler::scan_and_recycle( err = "loop_done error"; ret = -1; } - } while (it->more() && !stopped()); + if (!it->more()) { + break; // scan finished + } + } return ret; }