Bharath Vissapragada has uploaded a new patch set (#2).

Change subject: IMPALA-3820: Handle linkage errors while loading Java UDFs in 
Catalog
......................................................................

IMPALA-3820: Handle linkage errors while loading Java UDFs in Catalog

Currently Catalog aborts at startup if the class loader loading Java
UDFs throws a LinkageError (e.g., NoClassDefError). The code has been
designed to catch a generic "Exception" and ignore any incompatible
or erroneous UDFs but it can't handle any "Error"s. Java generally
doesn't encourage to handle all types of "Error"s, however given the
Catalog tries to load thirdparty udfs, it is possible that there might
be missing dependencies that the Catalog is expected to handle.

Testing: I confirmed the fix with manual testing. Created a sample udf
with multiple class dependencies and created a sample function in Hive.
Then I corrupted the jar by removing some classes from it. Impala catches
the expected exception added in this patch instead of aborting at startup.

Change-Id: I1109614f1617caa9bb27e8c151e902aae71a6b41
---
M fe/src/main/java/com/cloudera/impala/catalog/CatalogServiceCatalog.java
M fe/src/main/java/com/cloudera/impala/hive/executor/UdfExecutor.java
2 files changed, 8 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/67/3567/2
-- 
To view, visit http://gerrit.cloudera.org:8080/3567
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1109614f1617caa9bb27e8c151e902aae71a6b41
Gerrit-PatchSet: 2
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Bharath Vissapragada <[email protected]>
Gerrit-Reviewer: Alex Behm <[email protected]>
Gerrit-Reviewer: Bharath Vissapragada <[email protected]>
Gerrit-Reviewer: Dimitris Tsirogiannis <[email protected]>

Reply via email to