-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/64417/
-----------------------------------------------------------
(Updated Dec. 8, 2017, 3:55 p.m.)
Review request for Sqoop, Boglarka Egyed and Szabolcs Vasas.
Changes
-------
As discussed, I got rid of the initializer block.
Bugs: SQOOP-3153
https://issues.apache.org/jira/browse/SQOOP-3153
Repository: sqoop-trunk
Description
-------
The errormessages are generated by the hasUnrecognizedArgs funciton, which is
located in the base class of every Tool: BaseSqoopTool.
I overrided the hasUnrecognizedArgs function, in the subclass (i.e. the
ExportTool class), this calls the original function first and then checks
whether the file formats were specified and prints an additional hint / error
message.
Example output:
2017-12-07 16:02:42,640 ERROR [main] tool.BaseSqoopTool
(BaseSqoopTool.java:hasUnrecognizedArgs(335)) - Error parsing arguments for
export:
2017-12-07 16:02:42,643 ERROR [main] tool.BaseSqoopTool
(BaseSqoopTool.java:hasUnrecognizedArgs(338)) - Unrecognized argument:
--as-parquetfile
2017-12-07 16:02:42,643 ERROR [main] tool.ExportTool
(ExportTool.java:hasUnrecognizedArgs(405)) - Please note that the export tool
detects the file format automatically and does not support it as an argument:
--as-parquetfile
Also, corrected a typo in the function javadoc.
Concerns:
- Please let me know if a different message would provide more clarity.
- The intention was to implement the decorator pattern here, please feel free
to point it out if a different, simpler design would make more sense.
Diffs (updated)
-----
src/java/org/apache/sqoop/tool/BaseSqoopTool.java 6a4dcb09
src/java/org/apache/sqoop/tool/ExportTool.java cd6cdf32
Diff: https://reviews.apache.org/r/64417/diff/2/
Changes: https://reviews.apache.org/r/64417/diff/1-2/
Testing
-------
The following tests passed:
- Unit tests
- 3rd party integration tests
I haven't added a new test case since testHCatExportWithParquetFile in the
TestHCatalogBasic class already covers the code path and didn't require
modification.
Thanks,
Fero Szabo