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]

Reply via email to