You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2010/02/24 23:39:28 UTC

[jira] Updated: (CASSANDRA-828) possible NPE in StorageService

     [ https://issues.apache.org/jira/browse/CASSANDRA-828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-828:
-------------------------------------

          Component/s: Core
    Affects Version/s:     (was: 0.6)
                       0.5

> possible NPE in StorageService
> ------------------------------
>
>                 Key: CASSANDRA-828
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-828
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.5
>            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.