[
https://issues.apache.org/jira/browse/SQOOP-2632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14970591#comment-14970591
]
Sqoop QA bot commented on SQOOP-2632:
-------------------------------------
Testing file
[SQOOP-2632.001.patch|https://issues.apache.org/jira/secure/attachment/12768227/SQOOP-2632.001.patch]
against branch sqoop2 took 1:04:17.135734.
{color:red}Overall:{color} -1 due to an error(s), see details below:
{color:green}SUCCESS:{color} Clean was successful
{color:green}SUCCESS:{color} Patch applied correctly
{color:red}ERROR:{color} Patch does not add/modify any test case
{color:green}SUCCESS:{color} License check passed
{color:green}SUCCESS:{color} Patch compiled
{color:green}SUCCESS:{color} All unit tests passed (executed 1542 tests)
{color:green}SUCCESS:{color} Test coverage did not decreased
([report|https://builds.apache.org/job/PreCommit-SQOOP-Build/1806/artifact/patch-process/cobertura_report.txt])
{color:green}SUCCESS:{color} No new findbugs warnings
([report|https://builds.apache.org/job/PreCommit-SQOOP-Build/1806/artifact/patch-process/findbugs_report.txt])
{color:green}SUCCESS:{color} All integration tests passed (executed 90 tests)
Console output is available
[here|https://builds.apache.org/job/PreCommit-SQOOP-Build/1806/console].
This message is automatically generated.
> Sqoop2: add partition class to FROM
> -----------------------------------
>
> Key: SQOOP-2632
> URL: https://issues.apache.org/jira/browse/SQOOP-2632
> Project: Sqoop
> Issue Type: Sub-task
> Reporter: Dian Fu
> Assignee: Dian Fu
> Fix For: 1.99.7
>
> Attachments: SQOOP-2632.001.patch
>
>
> Each {{SqoopMapper}} will process one {{SqoopSplit}}. {{SqoopSplit}} is
> instantiated by the MR framework. Let's suppose that MR framework loads
> {{SqoopSplit}} with classloader A. As {{SqoopSplit}} has one field
> {{partition}}, so when {{SqoopSplit}} is loaded by classloader A, class
> {{Partition}} will also be loaded by classloader A and field {{partition}}
> will be of type {{A.Partition}}.
> In {{SqoopMapper}}, we will call {{extractor.extract(extractorContext,
> fromConfig, fromJob, partition)}}. To provide classpath isolation, we will
> load class {{Extractor}} with a custom classloader {{B}}, so class
> {{Partition}} in {{Extractor}} will be loaded by classloader {{B}}. This will
> cause type miss-match between {{A.Partition}} and {{B.Partition}} when we
> call {{extractor.extract(extractorContext, fromConfig, fromJob, partition}}.
> To solve this issue, we need to make sure class {{Partition}} not be loaded
> by the custom classloader {{B}}. To achieve this, we need firstly provide a
> mechanism to let {{SqoopMapper}} know the class name of {{Partition}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)