Daniel Voros created SQOOP-3378:
-----------------------------------

             Summary: Error during direct Netezza import/export can interrupt 
process in uncontrolled ways
                 Key: SQOOP-3378
                 URL: https://issues.apache.org/jira/browse/SQOOP-3378
             Project: Sqoop
          Issue Type: Bug
    Affects Versions: 1.4.7
            Reporter: Daniel Voros
            Assignee: Daniel Voros
             Fix For: 1.5.0, 3.0.0


SQLException during JDBC operation in direct Netezza import/export signals 
parent thread to fail fast by interrupting it (see 
[here|https://github.com/apache/sqoop/blob/c814e58348308b05b215db427412cd6c0b21333e/src/java/org/apache/sqoop/mapreduce/db/netezza/NetezzaJDBCStatementRunner.java#L92]).

We're [trying to process the interrupt in the 
parent|https://github.com/apache/sqoop/blob/c814e58348308b05b215db427412cd6c0b21333e/src/java/org/apache/sqoop/mapreduce/db/netezza/NetezzaExternalTableExportMapper.java#L232]
 (main) thread, but there's no guarantee that we're not in some blocking 
internal call that will process the interrupted flag and reset it before we're 
able to check.

It is also possible that the parent thread has passed the "checking part" when 
it gets interrupted. In case of {{NetezzaExternalTableExportMapper}} this can 
interrupt the upload of log files.

I'd recommend using some other means of communication between the threads than 
interrupts.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to