[ https://issues.apache.org/jira/browse/SQOOP-3283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16364527#comment-16364527 ]
ASF subversion and git services commented on SQOOP-3283: -------------------------------------------------------- Commit 3153c3610da7e5db388bfb14f3681d308e9e89c6 in sqoop's branch refs/heads/trunk from [~maugli] [ https://git-wip-us.apache.org/repos/asf?p=sqoop.git;h=3153c36 ] SQOOP-3283: Fixing MySQL 3rd party test hanging issue by getting username from System env/property instead of depending on whoami and Process#waitFor (Daniel Voros by Attila Szabo) > MySQL thirdparty tests hang if there's no USER environment variable > ------------------------------------------------------------------- > > Key: SQOOP-3283 > URL: https://issues.apache.org/jira/browse/SQOOP-3283 > Project: Sqoop > Issue Type: Bug > Components: connectors/mysql, test > Affects Versions: 1.4.7 > Reporter: Daniel Voros > Assignee: Daniel Voros > Priority: Minor > Attachments: SQOOP-3283.1.patch, SQOOP-3283.2.patch > > > {{org.apache.sqoop.manager.mysql.MySQLTestUtils#getCurrentUser()}} executes > {{whoami}} in a subprocess if there's no USER environment variable (happened > to me while running tests from Docker). However, it waits for the Process > variable to become null, that never happens: > {code:java} > // wait for whoami to exit. > while (p != null) { > try { > int ret = p.waitFor(); > if (0 != ret) { > LOG.error("whoami exited with error status " + ret); > // suppress original return value from this method. > return null; > } > } catch (InterruptedException ie) { > continue; // loop around. > } > } > {code} > We could get rid of the while loop since {{Process#waitFor()}} blocks while > it completes. > Note, that it's easy to workaround the issue by setting the USER environment > variable when running the tests. -- This message was sent by Atlassian JIRA (v7.6.3#76005)