cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Brown (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-14163) RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter
Date Thu, 11 Jan 2018 22:16:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-14163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16323071#comment-16323071
] 

Jason Brown commented on CASSANDRA-14163:
-----------------------------------------

+1.

However, for bonus points, if the rate is never changed during the lifetime of the {{RateBasedBackPressureState}}
(which I believe is the case), perhaps you can just memoize the rate value from within the
{{RateBasedBackPressureState}}'s constructor, and reference that everywhere (preferably from
{{RateBasedBackPressureState#getBackPressureRateLimit}}

> 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
>            Assignee: Nate McCall
>            Priority: Minor
>              Labels: lhf
>             Fix For: 3.11.2, 4.0
>
>         Attachments: 14163.patch
>
>
> {{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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message