agavra opened a new pull request, #9753:
URL: https://github.com/apache/pinot/pull/9753

   This is a follow-up to #9711 and follows the design outlined in [this design 
doc](https://docs.google.com/document/d/1XAMHAlhFbINvX-kK1ANlzbRz4_RkS0map4qhqs1yDtE/edit#heading=h.de4smgkh3bzk).
   
   This PR implements a round robin operator chain scheduling algorithm and 
sets up the interface for future PRs that will implement more advanced 
scheduling. As of this PR, we can be guaranteed that all queries will make 
progress (see the change in 
`pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/SSBQueryIntegrationTest.java`,
 you can now run it under situations with only 2 cores available) but the 
algorithm is still very hungry for CPU (queries with nothing in their mailbox 
will still be scheduled).
   
   Review Guide:
   
   - look at `OpChainSchedulerService` and `RoundRobinScheduler`, which 
contains the logic of yielding threads when there's no more work to be done for 
a given operator chain
   - look at `WorkerQueryExecutor` to see where this new scheduler is now wired 
in as opposed to running the work directly on the old worker pool
   - I added some logic to `PhysicalPlanVisitor` to collect information on 
mailboxes so that later we can hook up the mailboxes with the scheduling logic. 
Probably should have been done in a follow-up PR but 🤷 I was already at it. Let 
me know if you want me to split it up
   - Look at the corresponding tests
   
   cc @walterddr @61yao 


-- 
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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to