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)