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

Aleksey Yeschenko commented on CASSANDRA-9965:
----------------------------------------------

Looks good to me, including cassci runs. Could you consider doing the following 
things on commit (without rerunning tests or another round of review)?

1. Add a short deprecation/new methods note to NEWS.txt in 2.1/2.2
2. Add a short removal/new methods note in NEWS.txt in 3.0
3. In {{maybeReloadCompactionStrategy()}} in all versions swap {{.equals()}} 
call order (so that we have {{metadata.params.compaction.equals(params)}}) - 
this would guarantee no NPEs, and I'll sleep better knowing that my previous 
suggestion will never break anything
4. In consistency with CFS compressions setters/getters, do the following 
renames:
- {{setLocalCompactionStrategy()}} -> {{setCompactionParameters()}}
- {{getLocalCompactionStrategy()}} -> {{getCompactionParameters()}}
- {{setLocalCompactionStrategyString()}} -> 
{{setCompactionParametersFromJson()}} ('string' is ambiguous, 'Json' or 'JSON' 
encapsulates intent in the name)
- {{getLocalCompactionStrategyString()}} -> {{getCompactionParametersAsJson()}} 
- same reasoning and symmetry
5. Remove the variants that return what's configured in schema 
({{getCompactionStrategy()}}). I see the rationale, but the user can compare 
JMX output with cqlsh, we don't need an extra way to fetch schema
6. Mark {{getCompactionStrategyClass()}} deprecated in 2.2, as well.

Feel free to treat 3, 4, 5, and 6 as easily ignorable suggestions. It really is 
gtg.

> ColumnFamilyStore.setCompactionStrategyClass() is (somewhat) broken
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-9965
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9965
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Aleksey Yeschenko
>            Assignee: Marcus Eriksson
>            Priority: Minor
>             Fix For: 2.1.x, 2.2.x, 3.0.0 rc1
>
>
> {{ColumnFamilyStore.setCompactionStrategyClass()}} should get the same 
> treatment wrt JMX/schema switches that {{enabled}} got in CASSANDRA-9899.
> It should also not alter the {{CFMetaData}} object directly, ever. Only DDL 
> statements should be allowed to do that.
> CASSANDRA-9712 will temporarily throw UOE for that call.



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

Reply via email to