drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5287) Provide option to skip updates of ephemeral state changes in Zookeeper
Date Wed, 01 Mar 2017 07:32:45 GMT

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

ASF GitHub Bot commented on DRILL-5287:
---------------------------------------

Github user sudheeshkatkam commented on a diff in the pull request:

    https://github.com/apache/drill/pull/758#discussion_r103624801
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
---
    @@ -280,31 +284,39 @@ public void interrupted(final InterruptedException ex) {
         }
       }
     
    -  QueryState updateEphemeralState(final QueryState queryState) {
    -    switch (queryState) {
    +  void updateEphemeralState(final QueryState queryState) {
    +      // If query is already in zk transient store, ignore the transient state update
option.
    +      // Else, they will not be removed from transient store upon completion.
    +      if (!inTransientStore &&
    +          !foreman.getQueryContext().getOptions().getOption(ExecConstants.QUERY_TRANSIENT_STATE_UPDATE))
{
    +        return;
    +      }
    +
    +      switch (queryState) {
           case ENQUEUED:
           case STARTING:
           case RUNNING:
           case CANCELLATION_REQUESTED:
             transientProfiles.put(stringQueryId, getQueryInfo());  // store as ephemeral
query profile.
    +        inTransientStore = true;
             break;
     
           case COMPLETED:
           case CANCELED:
           case FAILED:
             try {
               transientProfiles.remove(stringQueryId);
    +          inTransientStore = false;
             } catch(final Exception e) {
               logger.warn("Failure while trying to delete the estore profile for this query.",
e);
             }
    -
             break;
     
           default:
             throw new IllegalStateException("unrecognized queryState " + queryState);
         }
     
    -    return queryState;
    +    return;
    --- End diff --
    
    remove unnecessary return


> Provide option to skip updates of ephemeral state changes in Zookeeper
> ----------------------------------------------------------------------
>
>                 Key: DRILL-5287
>                 URL: https://issues.apache.org/jira/browse/DRILL-5287
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.9.0
>            Reporter: Padma Penumarthy
>            Assignee: Padma Penumarthy
>             Fix For: 1.10.0
>
>
> We put transient profiles in zookeeper and update state as query progresses and changes
states. It is observed that this adds latency of ~45msec for each update in the query execution
path. This gets even worse when high number of concurrent queries are in progress. For concurrency=100,
the average query response time even for short queries  is 8 sec vs 0.2 sec with these updates
disabled. For short lived queries in a high-throughput scenario, it is of no value to update
state changes in zookeeper. We need an option to disable these updates for short running operational
queries.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message