[ https://issues.apache.org/jira/browse/CASSANDRA-17736 ]


    Pedro Gordo deleted comment on CASSANDRA-17736:
    -----------------------------------------

was (Author: pedro_gordo):
I audited all 144 properties from Ekaterina's list on trunk and found 4 
misalignments where JMX setters updated runtime state but never wrote back to 
Config, causing the Settings Virtual Table to show stale values:

 
 * {{endpoint_snitch}} — {{updateSnitch()}} changed the runtime snitch object 
but never updated {{conf.endpoint_snitch}}
 * - {{dynamic_snitch}} — {{updateProximityInternal()}} toggled dynamic 
wrapping but never updated {{conf.dynamic_snitch}}
 * - {{audit_logging_options}} — 
{{{}enableAuditLog(){}}}/\{{disableAuditLog()}} stored options in 
{{AuditLogManager}} but never updated {{conf.audit_logging_options}}
 * - {{full_query_logging_options}} — {{enableFullQueryLogger()}} stored state 
in {{FullQueryLogger}} but never updated {{conf.full_query_logging_options}}

The remaining 138 properties are either correctly aligned (45) or have no JMX 
setter (88), plus 5 that no longer exist on trunk.

 

Patch attached. Tests included — they fail on unfixed trunk and pass with the 
fix. Full audit breakdown also 
attached.[^17736-trunk.patch][^CASSANDRA-17736-audit.md]

> Settings Virtual Table should display the values assigned to a property in 
> the DatabaseDescriptor on startup and not null (as per the yaml)
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-17736
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17736
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Local/Config
>            Reporter: Ekaterina Dimitrova
>            Assignee: Pedro Gordo
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x, 6.x
>
>         Attachments: 17736-trunk.patch, CASSANDRA-17736-audit.md
>
>
> There are a few properties that after startup do not show their assigned 
> values as per the DatabaseDescriptor assignment but the cassandra.yaml value.
> They will not be also updated in the virtual table down the road in case they 
> are updated through JMX, nodetool etc.
> *EDIT: This ticket should serve to check the properties that are not type 
> Duration, Data Storage and Data Rate; also that are not new to 4.1.* I will 
> post a list of who are those later today for convenience. We target all those 
> in Config class (some advanced properties are not broadly advertised in 
> cassandra.yaml intentionally).
> There is [Settings Virtual Table 
> |https://cassandra.apache.org/doc/trunk/cassandra/new/virtualtables.html#settings-virtual-table]
>  which is supposed to show the values for our config parameters at any time. 
> Especially useful if any property was changed after startup through 
> JMX/nodetool and it doesn't match anymore the value in cassandra.yaml. For 
> this to be possible, we need to ensure that the parameters are always updated 
> in the Config class. It was observed that some are not always updating in 
> Config class, but after startup delegating to other internal variables. This 
> is a bug and this task should review and address any new findings. 
> Classes of interest - 
> [SettingsTable|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/virtual/SettingsTable.java]
>  where you can see how config parameters are listed; 
> [Config|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/config/Config.java]
>  class where our configuration parameters are defined.
> We need patches 4.0 and above. I suggest you start looking into 4.0 branch 
> and then merge into higher branches. As you won't be checking the data 
> storage, data rate and duration type parameters, there shouldn't be many 
> conflicts on merge. 
> We have a lot of parameters and I suggest you split the list into batches to 
> check and produce patches where/if needed to make the work more incremental 
> and easier to work on and review it.
>  



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