radford nguyen has uploaded a new patch set (#21). ( 
http://gerrit.cloudera.org:8080/13352 )

Change subject: IMPALA-8473: Publish lineage info via hook
......................................................................

IMPALA-8473: Publish lineage info via hook

This commit introduces a hook mechanism for publishing,
lineage data specifically, but query information more
generally, from Impala.

The legacy behavior of writing the lineage file is
being retained but deprecated.

Hooks can be implemented by downstream consumers (i.e.
runtime dependencies) to hook into supported places during
Impala query execution:

- impalad startup
- query completion
    - see IMPALA-8572 for caveat/details

The consumers are to be frontend Java dependencies
intiated at runtime. 2 backend flags configure this
behavior:

- `query_event_hook_classes` specifies a comma-separated
list of hook consumer implementation classes that
are instantiated and registered at impala start up.

- `query_event_hook_nthreads`
specifies the number of threads to use for asynchronous
hook execution.  (Relevant if multiple hooks are
registered.)

Lineage information is passed from the backend after
a query completes (but before it returns) and given
to every hook to execute asynchronously.  In other words,
a query may complete and return to the user before any
or all hooks have completed executing.  An exception
during hook on-query-complete execution will simply be logged
and will not be (directly) fatal to the system.

Tests:
- added unit tests for FE hook execution
- added E2E tests for hook configuration, execution, error
- ran full build, tests

Change-Id: I23a896537a98bfef07fb27c70e9a87c105cd77a1
---
M be/src/service/frontend.cc
M be/src/service/frontend.h
M be/src/service/impala-server.cc
M be/src/service/impala-server.h
M be/src/util/backend-gflag-util.cc
M common/thrift/BackendGflags.thrift
M common/thrift/Frontend.thrift
A fe/src/main/java/org/apache/impala/hooks/QueryCompleteContext.java
A fe/src/main/java/org/apache/impala/hooks/QueryEventHook.java
A fe/src/main/java/org/apache/impala/hooks/QueryEventHookManager.java
M fe/src/main/java/org/apache/impala/service/BackendConfig.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M fe/src/main/java/org/apache/impala/service/JniFrontend.java
A fe/src/test/java/org/apache/impala/hooks/QueryEventHookManagerTest.java
A fe/src/test/java/org/apache/impala/testutil/AlwaysErrorQueryEventHook.java
A fe/src/test/java/org/apache/impala/testutil/CountingQueryEventHook.java
A fe/src/test/java/org/apache/impala/testutil/DummyQueryEventHook.java
A fe/src/test/java/org/apache/impala/testutil/PostQueryErrorEventHook.java
M tests/authorization/test_provider.py
A tests/hooks/test_hooks.py
20 files changed, 1,109 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/52/13352/21
--
To view, visit http://gerrit.cloudera.org:8080/13352
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I23a896537a98bfef07fb27c70e9a87c105cd77a1
Gerrit-Change-Number: 13352
Gerrit-PatchSet: 21
Gerrit-Owner: radford nguyen <radford.ngu...@gmail.com>
Gerrit-Reviewer: Andrew Sherman <asher...@cloudera.com>
Gerrit-Reviewer: Anonymous Coward (498)
Gerrit-Reviewer: Austin Nobis <ano...@cloudera.com>
Gerrit-Reviewer: Fredy Wijaya <fwij...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Reviewer: radford nguyen <radford.ngu...@gmail.com>

Reply via email to