drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Rogers (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-4286) Have an ability to put server in quiescent mode of operation
Date Fri, 10 Jun 2016 18:04:21 GMT

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

Paul Rogers commented on DRILL-4286:
------------------------------------

Hi John,

ZK works by maintaining a heartbeat from ZK client to ZK server. That's how ZK implements
that nifty feature where the ZK registrations for a Drillbit automagically disapper when the
Drillbit dies: using "ephemeral" nodes that die as soon as the heartbeat stops. So, don't
worry about performance.

Given that, having the Drillbit listen on a "cancellation" node could work. To address security,
perhaps require that the content of the node be some special value or some such.

Generalizing, the Drillbit could have a "pluggable" shutdown mechnism with listeners for SIGTERM,
ZK and REST.

To address the states, let's add an OFFLINE state between DRAINING and STOP. As you suggest,
we can support two messages: one triggers the RUN --> DRAINING --> OFFLINE transition
(or optionally, on to the STOP and exit states.) The other goes from OFFLINE --> RUN. This
allows pausing a drillbit.

You asked about other SQL tools. The originator of this bug worked at Informix (where I also
worked at a different time). The term "quiescent" in the bug title comes from a mode that
Informix had: the DB would do roughly the same transitions as described here. The purpose
was to put the DB files in a safe state to take a backup.

The race condition is addressed in a separate node below: we need changes to the query submission/query
planning stages to solve that problem.

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

Mime
View raw message