[ 
https://issues.apache.org/jira/browse/CASSANDRA-21698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Semb Wever updated CASSANDRA-21698:
-------------------------------------------
    Change Category: Operability
         Complexity: Low Hanging Fruit
      Fix Version/s: 6.0.x
                     5.0.x
                     7.x
           Priority: Low  (was: Normal)
             Status: Open  (was: Triage Needed)

> Rate limit the warning for an obsolete CQL property
> ---------------------------------------------------
>
>                 Key: CASSANDRA-21698
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21698
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: CQL/Semantics
>            Reporter: Michael Semb Wever
>            Priority: Low
>             Fix For: 6.0.x, 5.0.x, 7.x
>
>
> {{PropertyDefinitions.validate}} warns once per statement for each obsolete 
> property a {{CREATE}} or {{ALTER}} statement names:
> {code:java}
> if (obsolete.contains(name))
>     logger.warn("Ignoring obsolete property {}", name);
> {code}
> A client can repeat such a statement without limit, and an application that 
> repeats one on a schedule fills the log with a line that carries no new 
> information. The names that reach the branch are the properties a statement 
> still accepts and ignores, so the operator learns nothing from the second 
> line that the first did not say.
> The patch logs the warning through {{NoSpamLogger}}, keyed on the property 
> name, so each obsolete property warns at most once every 30 seconds. The key 
> space is bounded, because each statement holds a fixed set of obsolete 
> property names, so no client input reaches the key.
> Patch: 
> [mck/upstream/obsolete-property-log-spam/5.0|https://github.com/thelastpickle/cassandra/tree/mck/upstream/obsolete-property-log-spam/5.0]
> Provenance: 
> [689860ef70|https://github.com/datastax/cassandra/commit/689860ef7093f75b7ea1e79d54c3ee0f9dbb7f16]
>  by Marcel SpryszyƄski. That commit rate limits the same warning with a 
> hand-rolled map of name to timestamp, which never updates the timestamp once 
> an interval has passed, so it then warns on every statement, and it reads the 
> result through reflection in its test. This patch uses the existing 
> {{NoSpamLogger}} keyed API instead, and tests the logging through an appender.
> The author works for IBM and the IBM licence grant approval is pending. The 
> file carries no {{Copyright IBM Corp.}} header, and this patch adds none.



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