Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 05B54200B2A for ; Fri, 10 Jun 2016 20:04:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 046D5160A38; Fri, 10 Jun 2016 18:04:23 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 4B298160A5A for ; Fri, 10 Jun 2016 20:04:22 +0200 (CEST) Received: (qmail 11305 invoked by uid 500); 10 Jun 2016 18:04:21 -0000 Mailing-List: contact issues-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.apache.org Delivered-To: mailing list issues@drill.apache.org Received: (qmail 11288 invoked by uid 99); 10 Jun 2016 18:04:21 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Jun 2016 18:04:21 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 128AD2C1F71 for ; Fri, 10 Jun 2016 18:04:21 +0000 (UTC) Date: Fri, 10 Jun 2016 18:04:21 +0000 (UTC) From: "Paul Rogers (JIRA)" To: issues@drill.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (DRILL-4286) Have an ability to put server in quiescent mode of operation MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Fri, 10 Jun 2016 18:04:23 -0000 [ 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)