[ 
https://issues.apache.org/jira/browse/CASSANDRA-11875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15302250#comment-15302250
 ] 

Kaide Mu edited comment on CASSANDRA-11875 at 5/26/16 3:36 PM:
---------------------------------------------------------------

A WIP Patch has been attached, it includes:
- ColumnFamilyStore.getSSTablePath(File directory, String version) which allows 
create a SSTable according version specified for example by Downgrader.
- Downgrader and StandaloneDowngrader based on upgrader and StandaloneDowngrader
- OperationType.DOWNGRADE_SSTABLE

Tested the work-flow with SSTableWriterTest creating a SSTable of version "ma" 
by specifying it on getWriter of SSTableWriterTestBase. Need to test the same 
work-flow using StandaloneDowngrader.

Digest component is always created according to latest 
version[(Reference)|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java#L808],
 should it be also modified?




was (Author: kdmu):
A WIP Patch has been attached, it includes:
- ColumnFamilyStore.getSSTablePath(File directory, String version) which allows 
create a SSTable according version specified for example by Downgrader.
- Downgrader and StandaloneDowngrader based on upgrader and StandaloneDowngrader
- OperationType.DOWNGRADE_SSTABLE

Tested the work-flow with SSTableWriterTest creating a SSTable of version "ma" 
by specifying it on getWriter of SSTableWriterTestBase. Need to test the same 
work-flow using StandaloneDowngrader.


> Create StandaloneDowngrader with support to ma format
> -----------------------------------------------------
>
>                 Key: CASSANDRA-11875
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11875
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Tools
>            Reporter: Paulo Motta
>            Assignee: Kaide Mu
>            Priority: Minor
>         Attachments: trunk-11875-WIP-V1.patch
>
>
> Currently {{Upgrader}} receives an sstable in any readable format, and writes 
> into {{BigFormat.getLatestVersion()}}. We should generalize it by making it 
> receive a {{target}} version and probably also rename it to 
> {{SSTableConverter}}. 
> Based on this we can create an {{StandaloneDowngrader}} tool which will 
> perform downgrade of specified sstables to a target version. To start with, 
> we should support only downgrading to {{ma}} format (from current format 
> {{mb}}), downgrade to any other version should be forbidden. Since we already 
> support serializing to "ma" we will not need to do any data conversion.
> We should also create a test suite that creates an sstable with data in the 
> current format, perform the downgrade, and verify data in the new format is 
> correct. This will be the base tests suite for more advanced conversions in 
> the future.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to