[ https://issues.apache.org/jira/browse/SQOOP-3283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16365629#comment-16365629 ]
Attila Szabo commented on SQOOP-3283: ------------------------------------- Hey [~dvoros], Let's open the new ticket, and discuss it there (as the existing functionality is definitely broken! Cheers, [~maugli] > 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 > Fix For: 1.5.0 > > 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)