cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-9965) ColumnFamilyStore.setCompactionStrategyClass() is (somewhat) broken
Date Fri, 07 Aug 2015 11:50:46 GMT


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

View raw message