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)