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

Caleb Rackliffe updated CASSANDRA-15766:
----------------------------------------
    Test and Documentation Plan: Just passing utests and dtests, assuming 
reviewed performance improvements are non-controversial. Shouldn't be any 
impact on documentation.
                         Status: Patch Available  (was: In Progress)

Finished a first draft that stays pretty close to the original 
scope/description. I've left inline comments in the PR to clarify the reasoning 
behind some decisions.

[patch|https://github.com/apache/cassandra/pull/685], [Java 8 
CircleCI|https://app.circleci.com/pipelines/github/maedhroz/cassandra/63/workflows/aea6888d-a6fd-42d0-9efe-81b15420d96a],
 [Java 11 
CircleCI|https://app.circleci.com/pipelines/github/maedhroz/cassandra/63/workflows/c820bade-6073-4f36-b2fb-6abac7dd2532]

> NoSpamLogger arguments building objects on hot paths
> ----------------------------------------------------
>
>                 Key: CASSANDRA-15766
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15766
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Observability/Logging
>            Reporter: Jon Meredith
>            Assignee: Caleb Rackliffe
>            Priority: Normal
>             Fix For: 4.0-beta
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> NoSpamLogger is used in hot logging paths to prevent logs being overrun.  For 
> that to be most effective the arguments to the logger need to be cheap to 
> construct.  During the internode messaging refactor CASSANDRA-15066, 
> performance changes to BufferPool for CASSANDRA-14416
> were accidentally reverted in the merge up from 3.11.
> Reviewing other uses since, it looks like there are a few places where the 
> arguments require some form of String building.
> org.apache.cassandra.net.InboundSink#accept
> org.apache.cassandra.net.InboundMessageHandler#processCorruptFrame
> org.apache.cassandra.net.InboundMessageHandler.LargeMessage#deserialize
> org.apache.cassandra.net.OutboundConnection#onOverloaded
> org.apache.cassandra.utils.memory.BufferPool.GlobalPool#allocateMoreChunks
> Formatting arguments should either be precomputed, or if expensive they 
> should be computed after the decision on whether to noSpamLog has been made.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to