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

Stefan Miklosovic commented on CASSANDRA-18872:
-----------------------------------------------

[~blambov],

would you mind to take a look at this? We would really appreciate your opinion 
in this matter.

The approach in the current patch is that crc check chance is propagated to 
FileHandler's builder as a supplier of a double. The reason behind this is that 
if we propagated it there as TableMetadataRef (the first commit in that branch 
implements that (2)), then we would have TableMetadataRef method on FileHandler 
builder (like this (3)) and that just does not feel right. We can have a 
FileHandler to whatever file, not only to an SSTable and other handlers do not 
necessarily have to support the concept of TableMetadata.

Even what is currently in the branch seems more reasonable, we are not sure if 
that is indeed the direction we should take. One suggestion is to have an 
object passed to this builder which would encapsulate all properties which are 
possible to be modified in runtime. Even a simple supplier works, we feel 
(together with [~jlewandowski]) that it seems to be a completely arbitrary flag 
and it would be maybe better to have a more systematic approach to properties 
which are changeable in runtime and pass that to that builder. What do you 
think?

Also, in broader context of this patch, the original motivation behind the 
extraction of this flag from CompressionParams to a top-level flag was that we 
should CRC not only when an SSTable is compressed. Why could not we do CRC 
calculation when an SSTable is uncompresed as well? CRC seems to be tied to 
CompressedChunkReader only, basically. We should crc other stuff too but that 
is not the objective of this ticket. We are trying to clean it up for now at 
least and have just one place where crc check chance is read from. 

(1) https://github.com/apache/cassandra/pull/2712/files
(2) https://github.com/apache/cassandra/pull/2712/commits
(3) 
https://github.com/apache/cassandra/pull/2712/commits/a6cc9775fce050f186f50d31a129cd54006fd98e#diff-08129643e93ec412c16b08e0e44390ae3c8fc05eb4571dca28d9f481c31e7f21

> Remove deprecated crc_check_chance in compression params
> --------------------------------------------------------
>
>                 Key: CASSANDRA-18872
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18872
>             Project: Cassandra
>          Issue Type: Task
>          Components: Feature/Compression, Legacy/CQL
>            Reporter: Stefan Miklosovic
>            Assignee: Stefan Miklosovic
>            Priority: Normal
>             Fix For: 5.x
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> crc_check_chance was moved from compression parameters and it is a standalone 
> table parameter. This was done in times of 3.0 so it is now time to get rid 
> of that in 5.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to