Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-10267

HIVE-9664 makes hive depend on ivysettings.xml : trivial breakage fix

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.0
    • 1.2.0
    • None

    Description

      HIVE-9664 makes hive depend on the existence of ivysettings.xml, and if it is not present, it makes hive NPE when instantiating a CLISessionState.

      java.lang.NullPointerException
      at org.apache.hadoop.hive.ql.session.DependencyResolver.<init>(DependencyResolver.java:61)
      at org.apache.hadoop.hive.ql.session.SessionState.<init>(SessionState.java:343)
      at org.apache.hadoop.hive.ql.session.SessionState.<init>(SessionState.java:334)
      at org.apache.hadoop.hive.cli.CliSessionState.<init>(CliSessionState.java:60)
      

      This happens because of the following bit:

          // If HIVE_HOME is not defined or file is not found in HIVE_HOME/conf then load default ivysettings.xml from class loader
          if (ivysettingsPath == null || !(new File(ivysettingsPath).exists())) {
            ivysettingsPath = ClassLoader.getSystemResource("ivysettings.xml").getFile();
            _console.printInfo("ivysettings.xml file not found in HIVE_HOME or HIVE_CONF_DIR," + ivysettingsPath + " will be used");
          }
      

      This makes it so that an attempt to instantiate CliSessionState without an ivysettings.xml file will cause hive to fail with an NPE. Hive should not have a hard dependency on a ivysettings,xml being present, and this feature should gracefully fail in that case instead.

      Attachments

        1. HIVE-10267.patch
          1 kB
          Sushanth Sowmyan

        Issue Links

          Activity

            People

              sushanth Sushanth Sowmyan
              sushanth Sushanth Sowmyan
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: