You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by "john lilley (Jira)" <ji...@apache.org> on 2020/10/31 12:37:00 UTC

[jira] [Created] (PARQUET-1937) parquet-tools class-not-found failures are silent and therefore not helpful

john lilley created PARQUET-1937:
------------------------------------

             Summary: 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


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)