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]>
