[
https://issues.apache.org/jira/browse/PARQUET-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
john lilley updated PARQUET-1937:
---------------------------------
Description:
If you download a parquet-tools jar from e.g. maven central and simply run it
without the "hadoop" command prefix:
{{[jlilley@rpb-dev-cent7-1 ~]$ wget
[https://repo1.maven.org/maven2/org/apache/parquet/parquet-tools/1.11.1/parquet-tools-1.11.1.jar]}}
{{...}}
{{[jlilley@rpb-dev-cent7-1 ~]$ java -jar parquet-tools-1.11.1.jar --help}}
{{[jlilley@rpb-dev-cent7-1 ~]$}}
it will fail because the hadoop dependencies are missing, and will fail
silently because System.out and System.err have been replaced with VoidStream:
{{System.setOut(VoidStream);}}
{{System.setErr(VoidStream);}}
Because of this, the missing-class exceptions are not reported and user is left
scratching head and wondering what happened. It is unclear why the message
goes unreported, because the exception _should_ be printed to Main.err by die()
catch (Throwable th) {
{{ if (debug) th.printStackTrace(Main.err);}}
{{ die(th, false, name, command);}}
}
was:
If you download a parquet-tools jar from e.g. maven central and simply run it
without the "hadoop" command prefix:
{{[jlilley@rpb-dev-cent7-1 ~]$ wget
https://repo1.maven.org/maven2/org/apache/parquet/parquet-tools/1.11.1/parquet-tools-1.11.1.jar}}
{{...}}
{{[jlilley@rpb-dev-cent7-1 ~]$ java -jar parquet-tools-1.11.1.jar --help}}
{{[jlilley@rpb-dev-cent7-1 ~]$}}
it will fail because the hadoop dependencies are missing, and will fail
silently because System.out and System.err have been replaced with VoidStream:
{{System.setOut(VoidStream);}}
{{System.setErr(VoidStream);}}
Because of this, the missing-class exceptions are not reported and user is left
scratching head and wondering what happened. It is unclear why the message
goes unreported, because the exception _should_ be printed to Main.err by die()
{{ } catch (Throwable th) {}}
{{ if (debug) th.printStackTrace(Main.err);}}
{{ die(th, false, name, command);}}
{{ }}}
> parquet-tools class-not-found failures are silent and therefore not helpful
> ---------------------------------------------------------------------------
>
> Key: PARQUET-1937
> URL: https://issues.apache.org/jira/browse/PARQUET-1937
> Project: Parquet
> Issue Type: Bug
> Components: parquet-mr
> Affects Versions: 1.11.1
> Environment: I've tried this on both CentOS7 and Windows 10, using
> JDK 1.8.0_211
>
> Reporter: john lilley
> Priority: Minor
>
> If you download a parquet-tools jar from e.g. maven central and simply run it
> without the "hadoop" command prefix:
> {{[jlilley@rpb-dev-cent7-1 ~]$ wget
> [https://repo1.maven.org/maven2/org/apache/parquet/parquet-tools/1.11.1/parquet-tools-1.11.1.jar]}}
> {{...}}
> {{[jlilley@rpb-dev-cent7-1 ~]$ java -jar parquet-tools-1.11.1.jar --help}}
> {{[jlilley@rpb-dev-cent7-1 ~]$}}
> it will fail because the hadoop dependencies are missing, and will fail
> silently because System.out and System.err have been replaced with VoidStream:
> {{System.setOut(VoidStream);}}
> {{System.setErr(VoidStream);}}
> Because of this, the missing-class exceptions are not reported and user is
> left scratching head and wondering what happened. It is unclear why the
> message goes unreported, because the exception _should_ be printed to
> Main.err by die()
> catch (Throwable th) {
> {{ if (debug) th.printStackTrace(Main.err);}}
> {{ die(th, false, name, command);}}
> }
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)