Todd Lipcon created KUDU-2058:
---------------------------------

             Summary: Java LocatedTablet implementation has sketchy string 
comparison
                 Key: KUDU-2058
                 URL: https://issues.apache.org/jira/browse/KUDU-2058
             Project: Kudu
          Issue Type: Bug
          Components: client, java
    Affects Versions: 1.4.0
            Reporter: Todd Lipcon


Findbugs spotted this issue where two strings are compared by identity instead 
of content:
{code}
  /**
   * Return the first occurrence for the given role, or null if there is none.
   */
  private Replica getOneOfRoleOrNull(Role role) {
    for (Replica r : replicas) {
      if (r.getRole() == role.toString()) {
        return r;
      }
    }
    return null;
  }
{code}

it's not clear why strings are being used for comparison at all rather than 
checking enum value equality, which would be both faster and more likely to be 
correct. It may be that this code works fine despite the sketchiness, though, 
because the two string objects are likely to be derived from the same 
enumValue.toString() which returns a constant string object.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to