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

Reply via email to