[
https://issues.apache.org/jira/browse/CASSANDRA-9839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14728236#comment-14728236
]
Paulo Motta commented on CASSANDRA-9839:
----------------------------------------
Attaching 3.0+ patch for review.
Relevant changes described below:
* Moved {{crc_check_chance}} out of compression options, turning it into a
top-level table option.
* Accepting {{crc_check_chance}} as a compression option on {{CREATE TABLE}}
and {{ALTER TABLE}} statements temporarily, for backwards compatibility.
** If that's the case, a warning is logged and sent to the client explaining
the change.
* Performing schema migration of {{crc_check_chance}} property on upgrade from
2.2- clusters to 3.0+
* Modification of {{crc_check_chance}} via JMX no longer changes {{CFMetadata}}
directly on {{ColumnFamilyStore}}.
* Similar to the options {{min_compaction_treshold}} and
{{max_compaction_treshold}}, the JMX change will persist during the session,
being reset to the value of {{CFMetadata}} on next restart.
* Introduced interface {{ICheckSummedFiled}}, implemented by {{SegmentedFile}}
and extended by {{ICompressedFiled}}
** This interface allows {{CompressedRandomAccessReader}} to consume the
current value of {{ColumnFamilyStore.crcCheckChance}} by transparently
accessing {{ICheckSummedFile.getCrcCheckChanceSupplier()}}.
*** A default supplier of {{ICheckSummedFile.getCrcCheckChanceSupplier()}} with
a value of 1.0 is provided by {{SegmentedFile}} for use in offline tools.
*** In live clusters, during {{SStableReader}} initialization it calls
{{ICheckSummedFile.setCrcCheckChanceSupplier(ColumnfamilyStore::getCrcCheckChance)}}
to expose the current value of {{crc_check_chance}} in a transparent way.
* Updated/fixed {{CrcCheckChanceTest}} unit tests
* Updated {{NEWS.txt}}
* Fixed dtests and added a new dtest for correctly verifying schema migration
of {{crc_check_chance}} option from 2.2-: [cassandra-dtest
PR|https://github.com/riptano/cassandra-dtest/pull/528]
Tests (will be available shortly):
* [3.0
dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-9839-dtest/]
* [3.0
testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-9839-testall/]
* [trunk
dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-9839-dtest/]
* [trunk
testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-9839-testall/]
> Move crc_check_chance out of compressions options
> -------------------------------------------------
>
> Key: CASSANDRA-9839
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9839
> Project: Cassandra
> Issue Type: Bug
> Reporter: Aleksey Yeschenko
> Assignee: Paulo Motta
> Priority: Minor
> Labels: client-impacting, docs-impacting
> Fix For: 3.0.0 rc1
>
>
> Follow up to CASSANDRA-8384. The option doesn't belong to compression params
> - it doesn't affect compression, itself, and isn't passed to compressors upon
> initialization.
> While it's true that it is (currently) only being honored when reading
> compressed sstables, it still doesn't belong to compression params (and is
> causing CASSANDRA-7978 -like issues).
> [~tjake] suggested we should make it an option of its own, and I think we
> should.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)