cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-828) possible NPE in StorageService
Date Wed, 24 Feb 2010 22:35:28 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12838033#action_12838033
] 

Jonathan Ellis commented on CASSANDRA-828:
------------------------------------------

my mistake: endpoint, the argument to the method, can't be null, but endpointThatLeft can
be.  Made suggested fix of inverting if condition in r916008.

> 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
>            Assignee: gabriele renzi
>            Priority: Minor
>             Fix For: 0.6
>
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
>
> 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.


Mime
View raw message