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

Reply via email to