[
https://issues.apache.org/jira/browse/SQOOP-3241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16308211#comment-16308211
]
Ferenc Szabo commented on SQOOP-3241:
-
Implementation details:
As discussed with Szabi, I will modify the patch so:
- object creation won't be included in the tests as it's a Tool class
responsibility.
- we will use reflection to create a SqoopOptions and fill it with random values
- we will also use reflection to check whether reference types are equal but
not the same on the cloned SqoopOption as well.
> 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
> Attachments: SQOOP-3255.patch
>
>
> 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)