cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "sankalp kohli (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5839) Save repair data to system table
Date Thu, 13 Feb 2014 22:16:20 GMT

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

sankalp kohli commented on CASSANDRA-5839:
------------------------------------------

I eyeballed the diff and have following suggestions. 
1) As mentioned by [~jbellis], this CF is used to store the end state of repair. Why are we
updating this CF as the repair is progressing? I think tracing should be used for that. 
2) Each RepairJob creates multiple Differencer objects. From each object, we are updating
the state of the same repair to "streaming" multiple times. You can keep the present state
in RepairProgressPersister and not update the CF if it is the same.
3) You can add a new field to determine failed/in-progress/success repairs in the CF. The
most used query here will be to show all failed/success repairs in the past. This will make
the query simple as you will not need to know all the states. Also you might want to convert
your states into enums rather than plain strings. 
4) While storing validation/syn failed state, it will be useful to also add which host caused
this failure. This will help in finding repeated repair failures. Like sometimes, a bad sstable
on a single node causes repairs to fail. 
5) Since this CF is replicated and will be used to analyze results of past repairs, storing
IP addresses of nodes involved might not help after host replacement. We might not be able
to use token here due to v-nodes. So I don't have a better alternative :)
6) CASSANDRA-5483 will introduce tracing. If it make sense, we can add trace sessionId here.
7) All the CF names of system keyspace are in SystemKeyspace class. You have put it in RepairProgressPersister.
Don't know whether it make sense to move this into SystemKeyspace since this is a CF of system_distributed!!
8) You might want to change the CF name to repair_history from repair. 

> Save repair data to system table
> --------------------------------
>
>                 Key: CASSANDRA-5839
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5839
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core, Tools
>            Reporter: Jonathan Ellis
>            Assignee: Jimmy MÃ¥rdell
>            Priority: Minor
>             Fix For: 2.0.6
>
>         Attachments: 2.0.4-5839-draft.patch, 2.0.6-5839-v2.patch
>
>
> As noted in CASSANDRA-2405, it would be useful to store repair results, particularly
with sub-range repair available (CASSANDRA-5280).



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message