Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-11333

Print a user friendly error message when plugins are not found

    XMLWordPrintableJSON

Details

    Description

      If NameNode is unable to find plugins (specified in dfs.namenode.plugins), it terminates abruptly with the following stack trace:

      Failed to start namenode.
      java.lang.RuntimeException: java.lang.ClassNotFoundException: Class XXX not found
        at org.apache.hadoop.conf.Configuration.getClasses(Configuration.java:2178)
        at org.apache.hadoop.conf.Configuration.getInstances(Configuration.java:2250)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.startCommonServices(NameNode.java:713)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:691)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:843)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:822)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1543)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1611)

      We should catch this exception, log a warning message and let it proceed, as missing the third party library does not affect the functionality of NameNode. We caught this bug during a CDH upgrade where a third party plugin was not in the lib directory of the newer version of CDH.

      Attachments

        1. HDFS-11333.001.patch
          3 kB
          Wei-Chiu Chuang
        2. HDFS-11333.002.patch
          2 kB
          Wei-Chiu Chuang
        3. HDFS-11333.002.patch
          2 kB
          Wei-Chiu Chuang
        4. HDFS-11333.003.patch
          2 kB
          Wei-Chiu Chuang

        Activity

          People

            weichiu Wei-Chiu Chuang
            weichiu Wei-Chiu Chuang
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: