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