sqoop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Szabolcs Vasas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SQOOP-3378) Error during direct Netezza import/export can interrupt process in uncontrolled ways
Date Mon, 15 Oct 2018 09:44:00 GMT

    [ https://issues.apache.org/jira/browse/SQOOP-3378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649977#comment-16649977

Szabolcs Vasas commented on SQOOP-3378:

Hi [~dvoros],

It seems TestNetezzaExternalTableExportMapper is still failing on the Apache Jenkins server
and I have also managed to reproduce the issue locally by running the unit tests in 1 JVM.

Do you have any idea what can cause this hanging issue?

I have seen "Need to open FIFO for reading, otherwise writing would hang" comment in the patch
so I thought you might have encountered similar thing during the development.

The branch I used to reproduce the issue is this: [https://github.com/szvasas/sqoop/commits/SQOOP-3104] 

If you execute ./gradlew unitTest then it would hang when executing TestNetezzaExternalTableExportMapper.


> 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
>            Priority: Major
>             Fix For: 1.5.0, 3.0.0
>         Attachments: SQOOP-3378.2.patch
> 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

View raw message