Szabolcs Vasas created SQOOP-3218: ------------------------------------- Summary: Make sure the original ClassLoader is preserved when running HCatalog tests Key: SQOOP-3218 URL: https://issues.apache.org/jira/browse/SQOOP-3218 Project: Sqoop Issue Type: Improvement Reporter: Szabolcs Vasas
When Sqoop runs in test mode it creates another ClassLoader that loads from the generated JAR file in addition to everything else currently on the classpath (see: com.cloudera.sqoop.util.ClassLoaderStack#addJarFile) so it is dependent of Thread.currentThread().getContextClassLoader() value. However in HCatalog test cases Sqoop invokes org.apache.hive.hcatalog.cli.HCatCli#main method directly in process (org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities#executeHCatProgramInProcess) which can override the contextClassLoader in the current thread and cause the tests to fail. The task is to improve org.apache.sqoop.mapreduce.hcat.SqoopHCatUtilities#executeHCatProgramInProcess to make sure that the class loader used before invoking HCatCli is restored after the main method of the CLI is finished. -- This message was sent by Atlassian JIRA (v6.4.14#64029)