drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From paul-rogers <...@git.apache.org>
Subject [GitHub] drill pull request #921: DRILL-4286 Graceful shutdown of drillbit
Date Tue, 14 Nov 2017 22:41:53 GMT
Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/921#discussion_r150980543
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/work/WorkManager.java ---
    @@ -165,32 +169,59 @@ 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 forcefulShutdown) {
         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( forcefulShutdown ) {
    +      exitLatch.awaitUninterruptibly(5000);
    --- End diff --
    
    Why 5000? I guess that is the old magic number. Perhaps move this to a constant:
    
    ```
    private final int FORCEFUL_SHUTDOWN_GRACE_MS = 5000;
    ```


---

Mime
View raw message