[
https://issues.apache.org/jira/browse/SQOOP-3218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16123508#comment-16123508
]
Boglarka Egyed commented on SQOOP-3218:
---------------------------------------
Thanks [~vasas] for your contribution!
Regards,
Bogi
> Make sure the original ClassLoader is restored when running HCatalog tests
> --------------------------------------------------------------------------
>
> Key: SQOOP-3218
> URL: https://issues.apache.org/jira/browse/SQOOP-3218
> Project: Sqoop
> Issue Type: Improvement
> Reporter: Szabolcs Vasas
> Assignee: Szabolcs Vasas
> Attachments: SQOOP-3218.patch
>
>
> 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)