[jira] [Commented] (SQOOP-3241) ImportAllTablesTool uses the same SqoopOptions object for every table import

2018-01-02 Thread Ferenc Szabo (JIRA)

[ 
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)


[jira] [Updated] (SQOOP-3241) ImportAllTablesTool uses the same SqoopOptions object for every table import

2018-01-02 Thread Ferenc Szabo (JIRA)

 [ 
https://issues.apache.org/jira/browse/SQOOP-3241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ferenc Szabo updated SQOOP-3241:

Attachment: SQOOP-3255.patch

> 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)