[ 
https://issues.apache.org/jira/browse/DRILL-4286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15325079#comment-15325079
 ] 

John Omernik commented on DRILL-4286:
-------------------------------------

So, I deleted my previous comment and replacing it with. I think we may be over 
thinking this (however I am simpleminded, and love to learn).   

We have two components... Will a drillbit "accept" work, and will a foreman 
schedule work... 

If we say that a drill bit will still trust the foremans during draining, and 
accept work, that will be acceptable. However, we make it so the foreman will 
not include a node in planning if it sees a state other than run. That deals 
with the race condition because if the foreman checks node statuses, has 10 
nodes in "RUN" then plans the query with those 10 nodes, however, before the 
work gets submitted, node 7 goes into "DRAINING"  That query will work just 
fine, and be scheduled on all 10 nodes, however, the next query, at planning 
time, the foreman will say Oh look there are only 9 nodes in "RUN" and plan 
based on those nodes.    

That one query where the status changed, no issues on the drill bit itself, it 
will still happily except that one more query, and then even in a busy cluster, 
foremans will stop scheduling work on that node.  Am I over simplifying this?



> Have an ability to put server in quiescent mode of operation
> ------------------------------------------------------------
>
>                 Key: DRILL-4286
>                 URL: https://issues.apache.org/jira/browse/DRILL-4286
>             Project: Apache Drill
>          Issue Type: New Feature
>          Components: Execution - Flow
>            Reporter: Victoria Markman
>
> I think drill will benefit from mode of operation that is called "quiescent" 
> in some databases. 
> From IBM Informix server documentation:
> {code}
> Change gracefully from online to quiescent mode
> Take the database server gracefully from online mode to quiescent mode to 
> restrict access to the database server without interrupting current 
> processing. After you perform this task, the database server sets a flag that 
> prevents new sessions from gaining access to the database server. The current 
> sessions are allowed to finish processing. After you initiate the mode 
> change, it cannot be canceled. During the mode change from online to 
> quiescent, the database server is considered to be in Shutdown mode.
> {code}
> This is different from shutdown, when processes are terminated. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to