Github user ppadma commented on a diff in the pull request:
https://github.com/apache/drill/pull/758#discussion_r103005063
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java ---
@@ -1010,7 +1010,9 @@ public void addToEventQueue(final QueryState
newState, final Exception exception
private void recordNewState(final QueryState newState) {
state = newState;
- queryManager.updateEphemeralState(newState);
+ if
(queryContext.getOptions().getOption(ExecConstants.ZK_QUERY_STATE_UPDATE)) {
+ queryManager.updateEphemeralState(newState);
+ }
--- End diff --
For long running queries, it may not make much difference. It adds latency
of around ~50-60 msec for single query. However, with high concurrency, impact
of contention because of zookeeper updates is significant. Like I mentioned in
the JIRA, for concurrency=100, the average query response time for simple
queries is 8 sec vs 0.2 sec with these updates disabled. It does not impact
the query profile. Query profile gets updated and written at the end of the
query as usual. This option affects only running queries. In Web UI, you will
not see running queries and their state.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---