You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Daniel Voros (JIRA)" <ji...@apache.org> on 2018/02/06 10:58:00 UTC
[jira] [Created] (SQOOP-3283) MySQL thirdparty tests hang if
there's no USER environment variable
Daniel Voros created SQOOP-3283:
-----------------------------------
Summary: 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
{{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)