cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ariel Weisberg (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-13163) NPE in StorageService.excise
Date Fri, 27 Jan 2017 21:51:24 GMT

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

Ariel Weisberg updated CASSANDRA-13163:
---------------------------------------
    Description: 
{code}
    private void excise(Collection<Token> tokens, InetAddress endpoint)
    {
        logger.info("Removing tokens {} for {}", tokens, endpoint);

        if (tokenMetadata.isMember(endpoint))
            HintsService.instance.excise(tokenMetadata.getHostId(endpoint));

{code}

The check for TMD.isMember() is not enough to guarantee that TMD.getHostId() will not return
null. If HintsService.excise() is called with null you get an NPE in a map lookup.

  was:
{code}
    private void excise(Collection<Token> tokens, InetAddress endpoint)
    {
        logger.info("Removing tokens {} for {}", tokens, endpoint);

        if (tokenMetadata.isMember(endpoint))
            HintsService.instance.excise(tokenMetadata.getHostId(endpoint));

{code}

The check for TMD.isMember() is not enough to guarantee that TMD.getHodtId() will not return
null. If HintsService.excise() is called with null you get an NPE in a map lookup.


> NPE in StorageService.excise
> ----------------------------
>
>                 Key: CASSANDRA-13163
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13163
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Ariel Weisberg
>            Assignee: Ariel Weisberg
>             Fix For: 3.0.x, 3.x, 4.x
>
>
> {code}
>     private void excise(Collection<Token> tokens, InetAddress endpoint)
>     {
>         logger.info("Removing tokens {} for {}", tokens, endpoint);
>         if (tokenMetadata.isMember(endpoint))
>             HintsService.instance.excise(tokenMetadata.getHostId(endpoint));
> {code}
> The check for TMD.isMember() is not enough to guarantee that TMD.getHostId() will not
return null. If HintsService.excise() is called with null you get an NPE in a map lookup.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message