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