cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kaide Mu (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-8928) Add downgradesstables
Date Sun, 06 Mar 2016 17:55:41 GMT

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

Kaide Mu edited comment on CASSANDRA-8928 at 3/6/16 5:54 PM:
-------------------------------------------------------------

Hi, [~yukim]

Thanks for the quick replay, I had been looking for SSTable formats on branch 2.2(la), 2.1(ka)
and 2.0(jb). I'm not sure if I'm in the right way, but I had been looking for following stuffs:

- Regarding to changelog on [BIgVersion|https://github.com/apache/cassandra/blob/cassandra-3.3/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java#L116]:
-- There's some change with checksums such as adler32 for compression check sum.
-- In version 2.1 introduces Statistics, but I found it as component of SSTable in version
2.0(?)
-- Vesion 2.2 only introduces a new file name format, "la".

- Respect to "Formats", I had been looking for [SSTableFormat|https://github.com/apache/cassandra/blob/trunk/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2Fformat%2FSSTableFormat.java#L35]
available on branch 2.2, that contains table format type, which is "big", but I didn't find
any information about that on branch 2.1 and 2.0. Also there's no indication of this thing
in its [Descriptors|https://github.com/apache/cassandra/blob/cassandra-2.1/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2FDescriptor.java#L39].
Also as I mentioned before I had been looking for [Components|https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/io/sstable/Component.java#L32]
of each branch and seems the main differences are:
-- They use different hash functions for digest 2.2 uses adler32, 2.1 and 2.0 uses sha-1
-- 2.0 version has COMPACTED_MARKER, which is removed in forward versions.
I'm not sure if i missed something.
- Therefore, if I'm correct, please correct me if not, if we want to write (I have a question
about this terminology, when we say write in this context do we mean write, or create? Because
I found that SSTable is immutable after creation) an older version of SSTable we should have
proper Digest and COMPACTED_MARKER also in case of jb.

My sincerest apologies for making this comment this way long, If above considerations are
correct, I'll continue looking for code base and SSTable API, also would you mind tell me
where can I find implementation of changes proposed in the BigVersion and implementation of
SSTable, I had been looking for [SSTable|https://github.com/apache/cassandra/blob/cassandra-2.2/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2FSSTable.java#L57]
but I don't know if it's the right one.

Best regards,

Kaide Mu



was (Author: kdmu):
Hi, dear Yuki.

Thanks for the quick replay, I had been looking for SSTable formats on branch 2.2(la), 2.1(ka)
and 2.0(jb). I'm not sure if I'm in the right way, but I had been looking for following stuffs:

- Regarding to changelog on [BIgVersion|https://github.com/apache/cassandra/blob/cassandra-3.3/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java#L116]:
-- There's some change with checksums such as adler32 for compression check sum.
-- In version 2.1 introduces Statistics, but I found it as component of SSTable in version
2.0(?)
-- Vesion 2.2 only introduces a new file name format, "la".

- Respect to "Formats", I had been looking for [SSTableFormat|https://github.com/apache/cassandra/blob/trunk/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2Fformat%2FSSTableFormat.java#L35]
available on branch 2.2, that contains table format type, which is "big", but I didn't find
any information about that on branch 2.1 and 2.0. Also there's no indication of this thing
in its [Descriptors|https://github.com/apache/cassandra/blob/cassandra-2.1/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2FDescriptor.java#L39].
Also as I mentioned before I had been looking for [Components|https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/io/sstable/Component.java#L32]
of each branch and seems the main differences are:
-- They use different hash functions for digest 2.2 uses adler32, 2.1 and 2.0 uses sha-1
-- 2.0 version has COMPACTED_MARKER, which is removed in forward versions.
I'm not sure if i missed something.
- Therefore, if I'm correct, please correct me if not, if we want to write (I have a question
about this terminology, when we say write in this context do we mean write, or create? Because
I found that SSTable is immutable after creation) an older version of SSTable we should have
proper Digest and COMPACTED_MARKER also in case of jb.

My sincerest apologies for making this comment this way long, If above considerations are
correct, I'll continue looking for code base and SSTable API, also would you mind tell me
where can I find implementation of changes proposed in the BigVersion and implementation of
SSTable, I had been looking for [SSTable|https://github.com/apache/cassandra/blob/cassandra-2.2/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2FSSTable.java#L57]
but I don't know if it's the right one.

Best regards,

Kaide Mu


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

Mime
View raw message