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

Jon Hermes commented on CASSANDRA-1551:
---------------------------------------

- NPE is caused by the columns being null (see also: a deleted row) in the 
return set of the get. In all cases, this can be ignored before calculating 
row.cf.columnCount(). In order for listEPH() to be able to see a difference 
between getting 0 columns and getting a dead row, it gets 1 column and throws 
it away.
- The "garbage" that looked like [][] was 4 bytes representing the ipaddr (127, 
0, 0, and 1, for example) being parsed as a UTF-8 string. This was because 
deleteHFE() (which was only exposed in this patch, not changed) was calculating 
the row key in an older way. HHOM has a row for every endpoint, and the row key 
is the bytes of the string representation of the ipaddr ("127.0.0.1", or 9 
bytes, not 4). Fixing this removes the garbage and implies that removetoken'ing 
a node has never deleted hints for it (hints locations as stored in the 
HintsCF, not the actual hints themselves)!

The latter implication is confirmed, so this is a new feature and a bugfix.

> create "tell me what nodes you have hints for" jmx api
> ------------------------------------------------------
>
>                 Key: CASSANDRA-1551
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1551
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Tools
>            Reporter: Jonathan Ellis
>            Assignee: Jon Hermes
>            Priority: Minor
>             Fix For: 0.7.2
>
>         Attachments: 1551-v2.txt, 1551-v3.txt, 1551.txt
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> we can do this efficiently in 0.7 due to new HH schema.  in 0.6 this would 
> require scanning all hints so probably not worth it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to