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