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)