You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Eric Lin (JIRA)" <ji...@apache.org> on 2017/02/16 00:49:41 UTC
[jira] [Created] (SQOOP-3135) Not enough error message for
debugging when parameters missing
Eric Lin created SQOOP-3135:
-------------------------------
Summary: Not enough error message for debugging when parameters missing
Key: SQOOP-3135
URL: https://issues.apache.org/jira/browse/SQOOP-3135
Project: Sqoop
Issue Type: Improvement
Affects Versions: 1.4.6
Reporter: Eric Lin
Assignee: Eric Lin
Run the following sqoop command:
{code}
sqoop job --create test -- import --connect jdbc:mysql://localhost/test --username root --password $pass --target-dir /tmp/test10 -m 1 --driver com.mysql.jdbc.Driver --table test
{code}
Due to $pass is not set, command will fail with the following error:
{code}
16/12/21 05:48:32 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7-SNAPSHOT
16/12/21 05:48:33 ERROR tool.JobTool: Error parsing arguments to the job-specific tool.
16/12/21 05:48:33 ERROR tool.JobTool: See 'sqoop help <tool>' for usage.
{code}
This is not informative, by checking the code in JobTool class:
{code}
// Now feed the arguments into the tool itself.
try {
childOptions = childTool.parseArguments(parseableChildArgv,
null, childOptions, false);
childTool.appendArgs(extraChildArgv);
childTool.validateOptions(childOptions);
} catch (ParseException pe) {
LOG.error("Error parsing arguments to the job-specific tool.");
LOG.error("See 'sqoop help <tool>' for usage.");
return 1;
} catch (SqoopOptions.InvalidOptionsException e) {
System.err.println(e.getMessage());
return 1;
}
{code}
The ParseException pe's message has been dropped, we should print out the message in the exception so that more meaningful message will be printed.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)