Eric Lin created SQOOP-3061:
-------------------------------

             Summary: Sqoop --options-file failed with error "Malformed option 
in options file" even though the query is correct
                 Key: SQOOP-3061
                 URL: https://issues.apache.org/jira/browse/SQOOP-3061
             Project: Sqoop
          Issue Type: Bug
    Affects Versions: 1.4.6
            Reporter: Eric Lin
            Priority: Minor


if you have the following in the options file:

--query
SELECT * FROM test WHERE a = 'b'

it will fail with the following error:

{code}
16/11/22 16:08:59 ERROR sqoop.Sqoop: Error while expanding arguments
java.lang.Exception: Malformed option in options 
file(/tmp/sqoop_runner_from_stdin_1112_12354__sqoop_options_file): SELECT * 
FROM test WHERE a = 'b'
at 
org.apache.sqoop.util.OptionsFileUtil.removeQuoteCharactersIfNecessary(OptionsFileUtil.java:170)
at 
org.apache.sqoop.util.OptionsFileUtil.removeQuotesEncolosingOption(OptionsFileUtil.java:136)
at 
org.apache.sqoop.util.OptionsFileUtil.expandArguments(OptionsFileUtil.java:90)
at 
com.cloudera.sqoop.util.OptionsFileUtil.expandArguments(OptionsFileUtil.java:33)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:199)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
Malformed option in options 
file(/tmp/sqoop_runner_from_stdin_1112_12354__sqoop_options_file): SELECT * 
FROM test WHERE a = 'b'
{code}

This is caused by function 
org.apache.sqoop.util.OptionsFileUtil.removeQuoteCharactersIfNecessary only 
checks for starting and ending quotes and will fail if the query does not start 
with a quote but ends with a quote, like the example query above.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to