Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-16300 ebugs automated bug checker is reporting exception issues
  3. HADOOP-16296

MiniKdc() throws a RuntimeException when it fails to create its workDir

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      Dear Hadoop developers, we are developing a tool to detect exception-related bugs in Java. Our prototype has spotted the following throw statement whose exception class and error message indicate different error conditions.

       

      Version: Hadoop-3.1.2

      File: HADOOP-ROOT/hadoop-common-project/hadoop-minikdc/src/main/java/org/apache/hadoop/minikdc/MiniKdc.java

      Line: 223

      throw new RuntimeException("Cannot create directory " + this.workDir);

       

      RuntimeException is usually used to represent errors in the program logic (think of one of its subclasses, NullPointerException), while the error message indicates that MiniKdc() can't create the directory workDir. This mismatch could be a problem. For example, the callers may miss the case where MiniKdc() fails to create the directory. Or, the callers trying to handle other RuntimeException may accidentally (and incorrectly) handle the directory creation failure. Maybe throwing an IOException is better here.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ebugs-in-cloud-systems Haicheng Chen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: