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