You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Paul Rogers (JIRA)" <ji...@apache.org> on 2017/06/29 19:22:00 UTC

[jira] [Comment Edited] (DRILL-4286) Have an ability to put server in quiescent mode of operation

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

Paul Rogers edited comment on DRILL-4286 at 6/29/17 7:21 PM:
-------------------------------------------------------------

Additional notes to define states and messages.

States:

* Live: (normal)
* Shut-down grace period: (shut-down received, still accepting queries)
* Shut-down draining: (refuses new queries, continues to run existing queries) 
* Quiescent: (up, but not accepting or running work)
* Terminated: (not really a state, Drillbit exits)

Transitions:

* Live, receive Shutdown message --> Grace
* Grace, after timeout --> Draining
* Draining, last fragment exits --> Quiescent
* Quiescent
** Auto terminate option --> Terminated
** Termination message --> Terminated

Shutdown message (via authenticated REST API message):

* Shut down and exit (for command line and Drill-on-YARN)
* Shut down and remain in quiescent state (for Mesos/Marathon integration)
* Shut down from quiescent mode (for Mesos/Marathon integration)
* Query Drillbit state

Two example use cases.

Drill-on-YARN:

* The end user asks DoY to shrink cluster size (assume by one node)
* The DoY Application Master (AM) issues the "shutdown and exit message"
* The Drillbit runs through the shutdown process
* The DoY AM notices that the Drillbit has dropped out of Zookeeper, finishing the DoY shrink operation.

Drill-on-Mesos:

* The end user signals a Drillbit (via a script) to shut down using "shutdown and wait" message.
* The Drillbit runs through the shutdown process.
* The end user monitors the Drillbit web UI (or uses a script to monitor the Drillbit using the REST API), waiting for the Drillbit to enter the Quiescent state.
* The end user asks Mesos (via Marathon) to terminate the Drillbit.

Note that the above Mesos flow is required because Mesos does not track Drillbit lifecycle the way that the DoY AM does.


was (Author: paul-rogers):
Additional notes to define states and messages.

States:

* Live: (normal)
* Shut-down grace period: (shut-down received, still accepting queries)
* Shut-down draining: (refuses new queries, continues to run existing queries) 
* Quiescent: (up, but not accepting or running work)
* Terminated: (not really a state, Drillbit exits)

Transitions:

* Live, receive Shutdown message --> Grace
* Grace, after timeout --> Draining
* Draining, last fragment exits --> Quiescent
* Quiescent
** Auto terminate option --> Terminated
** Termination message --> Terminated

Shutdown message (via authenticated REST API message):

* Shut down and exit (for command line and Drill-on-YARN)
* Shut down and remain in quiescent state (for Mesos/Marathon integration)
* Shut down from quiescent mode (for Mesos/Marathon integration)

> 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
>            Assignee: Venkata Jyothsna Donapati
>
> 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.4.14#64029)