[ https://issues.apache.org/jira/browse/CASSANDRA-8928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15204582#comment-15204582 ]
Paulo Motta commented on CASSANDRA-8928: ---------------------------------------- Overall looks good. A few comments to improve your proposal: * We should probably limit the scope from "ma" to "la" and "ka", and leave "jb" as an extra if there's time. Given that "ka" is pretty much the same as "la", except for the file name format, then the bulk of the work would be on downgrading from "ma" to "la". * I think we can divide this proposal into two major milestones: PoC and Productization. In the PoC milestone (midterm) you could deliver a basic sstabledowngrader tool supporting downgrade from "ma" to "la", but without much attention to the framework aspect, basically hacking the SStableScrubber tool and reusing existing code from previous versions to have a basic functional version along with tests. In the second phase after you're more familiarized with the problem you would refactor your initial PoC to deal with more complex scenarios (if there are any), and extract version-independent structures and interfaces to facilitate adding support downgrading to newer formats in the future, along with adding downgrade support to "ka" which should be easy enough after you have downgrade to "la" in place. With that said, you would have the following deliverables: ** sstabledowngrader tool with hard-coded downgrade support from "ma" to "la" (midterm) ** sstabledowngrader tool with extension points/flexible support to other sstable formats + documentation (final) ** comprehensive dtest suite for "ma" and "la" downgrade support with double cycle of upgrade/downgrade based on CASSANDRA-10563 (final) * You can probably move the code reading/familiarization from the coding period to the community bonding period, to focus on your first deliverable in the coding period. WDYT [~yukim]? Any other suggestion? > Add downgradesstables > --------------------- > > Key: CASSANDRA-8928 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8928 > Project: Cassandra > Issue Type: New Feature > Components: Tools > Reporter: Jeremy Hanna > Priority: Minor > Labels: gsoc2016, mentor > > As mentioned in other places such as CASSANDRA-8047 and in the wild, > sometimes you need to go back. A downgrade sstables utility would be nice > for a lot of reasons and I don't know that supporting going back to the > previous major version format would be too much code since we already support > reading the previous version. -- This message was sent by Atlassian JIRA (v6.3.4#6332)