[ https://issues.apache.org/jira/browse/DRILL-4286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16238249#comment-16238249 ]
ASF GitHub Bot commented on DRILL-4286: --------------------------------------- Github user bitblender commented on a diff in the pull request: https://github.com/apache/drill/pull/921#discussion_r148868884 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/work/WorkManager.java --- @@ -165,32 +176,60 @@ public DrillbitContext getContext() { * * <p>This is intended to be used by {@link org.apache.drill.exec.server.Drillbit#close()}.</p> */ - public void waitToExit() { + public void waitToExit(Drillbit bit, boolean forcceful_shutdown) { synchronized(this) { - if (queries.isEmpty() && runningFragments.isEmpty()) { + numOfRunningQueries = queries.size(); + numOfRunningFragments = runningFragments.size(); + if ( queries.isEmpty() && runningFragments.isEmpty()) { return; } - + logger.info("Draining " + queries +" queries and "+ runningFragments+" fragments."); exitLatch = new ExtendedLatch(); } - - // Wait for at most 5 seconds or until the latch is released. - exitLatch.awaitUninterruptibly(5000); + // Wait uninterruptibly until all the queries and running fragments on that drillbit goes down + // to zero + if( forcceful_shutdown) { + exitLatch.awaitUninterruptibly(5000); + } + else { --- End diff -- Inconsistent if-else formatting > 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 > Priority: Major > > 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)