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

Shyam Rai updated SQOOP-3271:
-----------------------------
    Description: 
While using --direct method which invokes DirectNetezzaManager, checkTable 
method tries to validate 1 row using this query

{code}
  private static final String QUERY_CHECK_DICTIONARY_FOR_TABLE =
      "SELECT 1 FROM _V_TABLE WHERE OWNER= ? "
      + " AND TABLENAME = ? ";
{code}

For validity, the check introduced for the query {code} if (!rs.next()) {code} 
is already at the first row and when assessed for next ResultSet, gets into the 
exception clause. 

Here is an example of the error:

{code}
[sqoop@hdp261 sqoopjar]$ sqoop export --connect 
jdbc:netezza://10.10.20.14:5480/Test --table MYTEST --username admin --password 
password --hcatalog-database default --hcatalog-table mysource 
--input-fields-terminated-by "," --input-null-string "\\\\N" 
--input-null-non-string "\\\\N" --direct --batch
Warning: /usr/hdp/2.6.1.0-129/hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /usr/hdp/2.6.1.0-129/accumulo does not exist! Accumulo imports will 
fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
Listening for transport dt_socket at address: 14444
17/12/22 20:36:35 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.6.1.0-129
17/12/22 20:36:35 WARN tool.BaseSqoopTool: Setting your password on the 
command-line is insecure. Consider using -P instead.
17/12/22 20:36:35 WARN tool.BaseSqoopTool: Input field/record delimiter options 
are not used in HCatalog jobs unless the format is text.   It is better to use 
--hive-import in those cases.  For text formats
17/12/22 20:36:35 INFO manager.SqlManager: Using default fetchSize of 1000
17/12/22 20:36:35 INFO tool.CodeGenTool: Beginning code generation
17/12/22 20:36:45 INFO manager.SqlManager: Executing SQL statement: SELECT t.* 
FROM "MYTEST" AS t WHERE 1=0
17/12/22 20:36:45 INFO manager.SqlManager: Executing SQL statement: SELECT t.* 
FROM "MYTEST" AS t WHERE 1=0
17/12/22 20:36:45 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is 
/usr/hdp/2.6.1.0-129/hadoop-mapreduce
Note: /tmp/sqoop-sqoop/compile/a82bdc2ed69a4cc79c5ca06fa06c18d8/MYTEST.java 
uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
17/12/22 20:36:48 INFO orm.CompilationManager: Writing jar file: 
/tmp/sqoop-sqoop/compile/a82bdc2ed69a4cc79c5ca06fa06c18d8/MYTEST.jar
17/12/22 20:36:48 ERROR manager.DirectNetezzaManager: MYTEST is not a valid 
Netezza table.  Please make sure that you have connected to the Netezza DB and 
the table name is right.   The current values are
          connection string : jdbc:netezza://10.10.20.14:5480/Test
          table owner : admin
          table name : MYTEST
17/12/22 20:36:48 ERROR tool.ExportTool: Encountered IOException running export 
job: java.io.IOException: MYTEST is not a valid Netezza table.  Please make 
sure that you have connected to the Netezza DB and the table name is right.   
The current values are
          connection string : jdbc:netezza://10.10.20.14:5480/Test
          table owner : admin
          table name : MYTEST

{code}


  was:
While using --direct method which invokes DirectNetezzaManager, checkTable 
method tries to validate 1 row using this query

{code}
  private static final String QUERY_CHECK_DICTIONARY_FOR_TABLE =
      "SELECT 1 FROM _V_TABLE WHERE OWNER= ? "
      + " AND TABLENAME = ? ";
{code}

For validity, the check introduced for the query {code} if (!rs.next()) {code} 
is already at the first row and when assessed for next ResultSet, gets into the 
exception clause. 




> DirectNetezzaManager Fails for checkTable method for row validation
> -------------------------------------------------------------------
>
>                 Key: SQOOP-3271
>                 URL: https://issues.apache.org/jira/browse/SQOOP-3271
>             Project: Sqoop
>          Issue Type: Bug
>          Components: connectors
>    Affects Versions: 1.4.6
>            Reporter: Shyam Rai
>
> While using --direct method which invokes DirectNetezzaManager, checkTable 
> method tries to validate 1 row using this query
> {code}
>   private static final String QUERY_CHECK_DICTIONARY_FOR_TABLE =
>       "SELECT 1 FROM _V_TABLE WHERE OWNER= ? "
>       + " AND TABLENAME = ? ";
> {code}
> For validity, the check introduced for the query {code} if (!rs.next()) 
> {code} is already at the first row and when assessed for next ResultSet, gets 
> into the exception clause. 
> Here is an example of the error:
> {code}
> [sqoop@hdp261 sqoopjar]$ sqoop export --connect 
> jdbc:netezza://10.10.20.14:5480/Test --table MYTEST --username admin 
> --password password --hcatalog-database default --hcatalog-table mysource 
> --input-fields-terminated-by "," --input-null-string "\\\\N" 
> --input-null-non-string "\\\\N" --direct --batch
> Warning: /usr/hdp/2.6.1.0-129/hbase does not exist! HBase imports will fail.
> Please set $HBASE_HOME to the root of your HBase installation.
> Warning: /usr/hdp/2.6.1.0-129/accumulo does not exist! Accumulo imports will 
> fail.
> Please set $ACCUMULO_HOME to the root of your Accumulo installation.
> Listening for transport dt_socket at address: 14444
> 17/12/22 20:36:35 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.6.1.0-129
> 17/12/22 20:36:35 WARN tool.BaseSqoopTool: Setting your password on the 
> command-line is insecure. Consider using -P instead.
> 17/12/22 20:36:35 WARN tool.BaseSqoopTool: Input field/record delimiter 
> options are not used in HCatalog jobs unless the format is text.   It is 
> better to use --hive-import in those cases.  For text formats
> 17/12/22 20:36:35 INFO manager.SqlManager: Using default fetchSize of 1000
> 17/12/22 20:36:35 INFO tool.CodeGenTool: Beginning code generation
> 17/12/22 20:36:45 INFO manager.SqlManager: Executing SQL statement: SELECT 
> t.* FROM "MYTEST" AS t WHERE 1=0
> 17/12/22 20:36:45 INFO manager.SqlManager: Executing SQL statement: SELECT 
> t.* FROM "MYTEST" AS t WHERE 1=0
> 17/12/22 20:36:45 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is 
> /usr/hdp/2.6.1.0-129/hadoop-mapreduce
> Note: /tmp/sqoop-sqoop/compile/a82bdc2ed69a4cc79c5ca06fa06c18d8/MYTEST.java 
> uses or overrides a deprecated API.
> Note: Recompile with -Xlint:deprecation for details.
> 17/12/22 20:36:48 INFO orm.CompilationManager: Writing jar file: 
> /tmp/sqoop-sqoop/compile/a82bdc2ed69a4cc79c5ca06fa06c18d8/MYTEST.jar
> 17/12/22 20:36:48 ERROR manager.DirectNetezzaManager: MYTEST is not a valid 
> Netezza table.  Please make sure that you have connected to the Netezza DB 
> and the table name is right.   The current values are
>         connection string : jdbc:netezza://10.10.20.14:5480/Test
>         table owner : admin
>         table name : MYTEST
> 17/12/22 20:36:48 ERROR tool.ExportTool: Encountered IOException running 
> export job: java.io.IOException: MYTEST is not a valid Netezza table.  Please 
> make sure that you have connected to the Netezza DB and the table name is 
> right.   The current values are
>         connection string : jdbc:netezza://10.10.20.14:5480/Test
>         table owner : admin
>         table name : MYTEST
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to