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