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)

Reply via email to