cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "gabriele renzi (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-631) possible NPE in StorageProxy?
Date Sun, 13 Dec 2009 09:49:18 GMT

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

gabriele renzi commented on CASSANDRA-631:
------------------------------------------

you can check it with JAD if you disable the inner class analisys, the code 
{{{
public class C {
  private static int var = 10;
  public static class Inner {
    public int meth(){
      return var;
    }
  }
}
}}}

gives back from the C.class 
{{{
public class C
{

    public C()
    {
    }

    static int access$000()
    {
        return var;
    }

    private static int var = 10;

}

}}}

and for C$Inner.class
{{{
public class C$Inner
{

    public C$Inner()
    {
    }

    public int meth()
    {
        return C.access$000();
    }
}
}}}

I _believe_ this is because inner classes had to be fitted over an existing class format in
java 1.1, but I'm not sure. 


I agree that these method are most probably going to be optimized away, as I said I just changed
the code because they are in the default warnings set  and I can simply change my warnings
setup (and eventually update the CodeStyle wiki so the next person who comes across them will
know it).

> possible NPE in StorageProxy?
> -----------------------------
>
>                 Key: CASSANDRA-631
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-631
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: all
>            Reporter: gabriele renzi
>            Assignee: gabriele renzi
>             Fix For: 0.5, 0.9
>
>         Attachments: CASSANDRA-631-big.patch, CASSANDRA-631-tiny.patch
>
>   Original Estimate: 0.17h
>  Remaining Estimate: 0.17h
>
> insert() in StorageProxy contains a logging statement that refers to a possibly un-initialized
variable
> {{{
> logger.debug("insert writing key " + rm.key() + " to " + unhintedMessage.getMessageId()
+ "@" + hintedTarget + " for " + target);
> }}}
> this could happen if getHintedEndpointMap(rm.key(), naturalEndpoints) returns only elements
for which target.equals(hintedTarget) returns false, which seems possible to me. 
> Looking at the code I get the feeling the reference should probably be to 'hintedMessage',
instead of "unhintedMessage", if not so an 
> assert statement could be appropriate

-- 
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