mrhhsg opened a new pull request, #70126: URL: https://github.com/apache/doris/pull/70126
### What problem does this PR solve? Issue Number: None Related PR: None Problem Summary: The recycler scanner enqueues instances on a fixed interval, while the job interval is measured from the previous job's actual start time. A worker can therefore check an instance a few milliseconds before its strict interval expires. Previously, that check removed and discarded the request, delaying the next opportunity until another full scanner cycle. ### What is changed? - Return the first eligible millisecond only when the strict interval check rejects a job; keep the existing interval and KV lease rules unchanged. - Retain interval-rejected requests in a deadline-ordered queue with one pending entry per instance. Workers wait for the earliest due request and recheck initialization and the KV lease before recycling. - Use the same enqueue path for scanner and manual RPC requests, and coordinate shutdown with timed worker waits. No persistent format, RPC protocol, or configuration is changed. ### Release note Recycle jobs checked just before their configured interval expires are retried when due instead of waiting for another full scanner cycle. ### Check List (For Author) - Test: Cloud ASAN build with unit tests enabled passed. Focused recycler tests passed (9/9); control tests passed (7/7); the recycler suite excluding benchmarks passed (211/211). A complete recycler binary run passed 211/212; `RecyclerBenchmarkTest.RecycleRowsets` failed while seeding benchmark data, before the changed scheduling path. That failure's baseline status was not established. Formatting, build-hygiene, and changed-line clang-tidy checks passed. SQL regression and full CI were not run. - Behavior changed: Yes. Requests rejected only because the interval has not elapsed are retried at the earliest eligible millisecond, subject to worker availability and KV lease acquisition. - Does this need documentation: No -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
