gortiz commented on issue #16060:
URL: https://github.com/apache/pinot/issues/16060#issuecomment-2969906025

   This diagram is a bird's-eye view of the thread model on a server when 
handling MSE requests.
   
   The thread that 
   
   ```mermaid
   
   sequenceDiagram
   
     box Grpc thread
   
     participant GrpcServer
   
     end
   
     box Submission Thread
     participant QueryServer
     end
   
     box ExecutionThread 1
     participant QueryRunner
     participant PipelineBreakerExecutor
     end
   
     box ExecutionThread 2
     participant OpChainSchedulerService
     end 
   
     participant MultiStageOperator
   
     activate GrpcServer
     GrpcServer ->> QueryServer: submit
     activate QueryServer
     QueryServer ->> QueryRunner: processQueryAsync
     activate QueryRunner
     QueryRunner -->> QueryServer: return not waiting 
     QueryServer -->> GrpcServer: return 
     deactivate QueryServer
     deactivate GrpcServer
     QueryRunner ->> QueryRunner: processQueryBlocking
     QueryRunner ->> PipelineBreakerExecutor: executePipelineBreakers
     PipelineBreakerExecutor ->> MultiStageOperator: nextBlock
     Note right of MultiStageOperator: Starts new threads,<br/> but wait for 
them
     MultiStageOperator -->> PipelineBreakerExecutor: return
     PipelineBreakerExecutor -->> QueryRunner: return
     
     QueryRunner ->> OpChainSchedulerService: register
     activate OpChainSchedulerService
   OpChainSchedulerService -->> QueryRunner: return not waiting 
     deactivate QueryRunner
     
     OpChainSchedulerService ->> MultiStageOperator: nextBlock
     Note right of MultiStageOperator: Starts new threads,<br/> but wait for 
them
     MultiStageOperator -->> OpChainSchedulerService: return
   
     deactivate OpChainSchedulerService
   
   ```
   
   MultiStageOperators periodically call `sampleAndCheckInterruption`, which 
could interrupt the thread and modify the operator to return an error block. 


-- 
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