Bharath Vissapragada has posted comments on this change. ( http://gerrit.cloudera.org:8080/13748 )
Change subject: IMPALA-8571[WIP]: improve QueryEventHook execution ...................................................................... Patch Set 14: (9 comments) http://gerrit.cloudera.org:8080/#/c/13748/14/be/src/service/impala-server.cc File be/src/service/impala-server.cc: http://gerrit.cloudera.org:8080/#/c/13748/14/be/src/service/impala-server.cc@275 PS14, Line 275: 1 Since the hook execution is async (to query unregister) anyway, how about we bump this up a little? 3s or so? http://gerrit.cloudera.org:8080/#/c/13748/14/be/src/service/impala-server.cc@277 PS14, Line 277: default 1. not needed, the web UI shows the default separately. (same below) http://gerrit.cloudera.org:8080/#/c/13748/14/be/src/service/impala-server.cc@279 PS14, Line 279: true Should anyone ever have to set this to false? If not, I suggest removing this flag. http://gerrit.cloudera.org:8080/#/c/13748/14/fe/src/main/java/org/apache/impala/hooks/FixedCapacityQueryHookExecutor.java File fe/src/main/java/org/apache/impala/hooks/FixedCapacityQueryHookExecutor.java: http://gerrit.cloudera.org:8080/#/c/13748/14/fe/src/main/java/org/apache/impala/hooks/FixedCapacityQueryHookExecutor.java@97 PS14, Line 97: * <dt>${hookClass}.${method}.execution.rejections</dt> Where are all these metrics exposed? I don't see the plumbing to make them available on /metrics (or may be I'm missing the link somwhere) http://gerrit.cloudera.org:8080/#/c/13748/14/fe/src/main/java/org/apache/impala/hooks/FixedCapacityQueryHookExecutor.java@101 PS14, Line 101: exceptions nit: failures? http://gerrit.cloudera.org:8080/#/c/13748/14/fe/src/main/java/org/apache/impala/hooks/FixedCapacityQueryHookExecutor.java@131 PS14, Line 131: private final long hookTimeout_; : private final TimeUnit hookTimeoutUnit_; Just force it to be secs or something? http://gerrit.cloudera.org:8080/#/c/13748/14/fe/src/main/java/org/apache/impala/hooks/FixedCapacityQueryHookExecutor.java@290 PS14, Line 290: context); probably helps to include query ID explicitly. http://gerrit.cloudera.org:8080/#/c/13748/14/fe/src/main/java/org/apache/impala/hooks/FixedCapacityQueryHookExecutor.java@327 PS14, Line 327: final Future<QueryEventHook> f = hookExecutor_.submit(() -> { I don't think you need to offload this to a separate executor pool again. You could probably just do new FutureTask<>(Callable).run() (essentially what the hookExecutor_ does for you) but I think that simplifies the code and make it easy to reason about (1:1 correspondence between threadPool thread accepting the task and the thread that actually executes the hook). http://gerrit.cloudera.org:8080/#/c/13748/14/fe/src/main/java/org/apache/impala/hooks/QueryEventHookManager.java File fe/src/main/java/org/apache/impala/hooks/QueryEventHookManager.java: http://gerrit.cloudera.org:8080/#/c/13748/14/fe/src/main/java/org/apache/impala/hooks/QueryEventHookManager.java@77 PS14, Line 77: static final String BE_HOOKS_FLAG = "query_event_hook_classes"; nit: any reason to remove private qualifier? -- To view, visit http://gerrit.cloudera.org:8080/13748 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ibb88422f7cfe86947d11ce57d2b4c63e57d1b643 Gerrit-Change-Number: 13748 Gerrit-PatchSet: 14 Gerrit-Owner: radford nguyen <radford.ngu...@gmail.com> Gerrit-Reviewer: Bharath Vissapragada <bhara...@cloudera.com> Gerrit-Reviewer: Fredy Wijaya <fre...@apache.org> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: radford nguyen <radford.ngu...@gmail.com> Gerrit-Comment-Date: Wed, 10 Jul 2019 17:23:10 +0000 Gerrit-HasComments: Yes