Bharath Vissapragada has uploaded a new change for review.

  http://gerrit.cloudera.org:8080/3567

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 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/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3567
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1109614f1617caa9bb27e8c151e902aae71a6b41
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Bharath Vissapragada <[email protected]>

Reply via email to