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

Brandon Williams updated CASSANDRA-6787:
----------------------------------------

    Attachment: 6787.txt

When I created this, I wanted to protect against the NPE, but thinking more 
about it and what spurred to me to create this ticket, I think we should 
actually go a step further, and if the endpoint vanishes, assassinate it 
anyway.  The reasoning for this is, if a user is trying to assassinate an 
endpoint and it expires, they want it gone regardless.  No one is going to go 
around assassinating endpoints on the verge of expiring without a good reason, 
and they're most likely stuck in the 'bouncing endpoint' situation in gossip, 
where it expires on node X, but still exists on Y which repopulates it to X, 
but then expires on Y, and so on.  In this situation all the user can do is 
keep trying assassinate until they get lucky and it works, or resort to a hack 
like starting a bootstrap on that IP and then killing it to turn the endpoint 
into a fat client that will hopefully expire correctly.

Patch to do this.

> assassinate should check for nulls
> ----------------------------------
>
>                 Key: CASSANDRA-6787
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6787
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Brandon Williams
>            Assignee: Brandon Williams
>            Priority: Minor
>             Fix For: 1.2.17
>
>         Attachments: 6787.txt
>
>
> Assassinate can NPE in various situations, most notably if the endpoint 
> vanishes during the sleep-for-safety check.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to