possible NPE in StorageService
------------------------------
Key: CASSANDRA-828
URL: https://issues.apache.org/jira/browse/CASSANDRA-828
Project: Cassandra
Issue Type: Bug
Affects Versions: 0.6
Reporter: gabriele renzi
Priority: Minor
the code
{{{
if (endPointThatLeft.equals(FBUtilities.getLocalAddress()))
{
logger_.info("Received removeToken gossip about myself. Is this
node a replacement for a removed one?");
return;
}
if (logger_.isDebugEnabled())
logger_.debug("Token " + token + " removed manually (endpoint
was " + ((endPointThatLeft == null) ? "unknown" : endPointThatLeft) + ")");
if (endPointThatLeft != null)
{
removeEndPointLocally(endPointThatLeft);
}
}}}
appears wrong: if it is possible for the leaving endpoint to be unknown then
the first "if" has a possible null dereference, which can be eliminated by
swapping the arguments or reordering the code.
As a side note, I believe FBUtilities.getLocalAddress should probably be
synchronized (or localInetAddress made volatile) per the usual "the java MM
does not guarantee any change will ever be visible" mantra which may or may
not be considered relevant :)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.