Jon Meredith created CASSANDRA-15766:
----------------------------------------
Summary: 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: Jon Meredith
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]