[
https://issues.apache.org/jira/browse/CASSANDRA-14163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nate McCall updated CASSANDRA-14163:
------------------------------------
Description:
{{o.a.c.net.RateBasedBackPressure#apply}} calls {{getRate()}} on the underlying
Guava {{RateLimiter}} several times in quick succession (including as the
argument to a non level checked log statement).
Said {{getRate()}} method acquires a lock within {{RateLimiter}}, so just
getting a local variable reference will remove several calls and thus several
lock acquisitions.
was:
{{o.a.c.net.RateBasedBackPressure#apply}} calls {{getRate()}} on the underlying
Guava RateLimiter several times in quick succession (including as the argument
to a non level checked log statement).
The {{getRate()}} method acquires a lock within RateLimiter, so just getting a
local variable reference will remove several calls and thus several lock
acquisitions.
> RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter
> ----------------------------------------------------------------------------
>
> Key: CASSANDRA-14163
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14163
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Nate McCall
> Priority: Minor
> Labels: lhf
>
> {{o.a.c.net.RateBasedBackPressure#apply}} calls {{getRate()}} on the
> underlying Guava {{RateLimiter}} several times in quick succession (including
> as the argument to a non level checked log statement).
> Said {{getRate()}} method acquires a lock within {{RateLimiter}}, so just
> getting a local variable reference will remove several calls and thus several
> lock acquisitions.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]