[ https://issues.apache.org/jira/browse/KUDU-2058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Daniel Cryans resolved KUDU-2058. -------------------------------------- Resolution: Fixed Fix Version/s: 1.5.0 Fixed in 0fe3a288d63a1b49cc615ec1346fcaef7a17b7c7, thanks Sri Sai Kumar! > 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 > Assignee: Sri Sai Kumar Ravipati > Labels: newbie > Fix For: 1.5.0 > > > 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)