You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Ferenc Szabo (JIRA)" <ji...@apache.org> on 2017/12/10 08:15:00 UTC
[jira] [Commented] (SQOOP-3241) ImportAllTablesTool uses the same
SqoopOptions object for every table import
[ https://issues.apache.org/jira/browse/SQOOP-3241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16285134#comment-16285134 ]
Ferenc Szabo commented on SQOOP-3241:
-------------------------------------
As we discussed with [~vasas], the SqoopOpstions objects are modified improperly (after init) in two places:
- the CodeGenTool
- the ImportTool
I will investigate the following:
- whether we can make the SqoopOptions class immutable (and create it with a Builder)
- whether SqoopOptions.clone() is correct (it's already implemented and used in the JobTool, but there are no tests)
> ImportAllTablesTool uses the same SqoopOptions object for every table import
> ----------------------------------------------------------------------------
>
> Key: SQOOP-3241
> URL: https://issues.apache.org/jira/browse/SQOOP-3241
> Project: Sqoop
> Issue Type: Bug
> Affects Versions: 1.4.6
> Reporter: Szabolcs Vasas
> Assignee: Ferenc Szabo
>
> ImportAllTablesTool queries the list of tables from the database and invokes ImportTool#importTable method for each table.
> The problem is that it passes the same SqoopOptions object in every invocation and since SqoopOptions is not immutable this can lead to issues.
> For example in case of Parquet imports the CodeGenTool#generateORM method modifies the className field of the SqoopOptions object which is then remains the same for all the subsequent table imports and can cause job failures.
> One solution could be to create a new SqoopOptions object with the same field values for every ImportTool#importTable invocation.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)