[
https://issues.apache.org/jira/browse/SCB-651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16516535#comment-16516535
]
ASF GitHub Bot commented on SCB-651:
------------------------------------
liubao68 closed pull request #770: [SCB-651] Fixes bug of qps rate limit value
URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/770
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git
a/handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/QpsController.java
b/handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/QpsController.java
index 401430747..8bc147b8c 100644
---
a/handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/QpsController.java
+++
b/handlers/handler-flowcontrol-qps/src/main/java/org/apache/servicecomb/qps/QpsController.java
@@ -31,7 +31,7 @@
private AtomicLong requestCount = new AtomicLong();
// 本周期之前的请求数
- private volatile long lastRequestCount = 0;
+ private volatile long lastRequestCount = 1;
private static final int CYCLE_LENGTH = 1000;
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> QPS rate limit bug
> ------------------
>
> Key: SCB-651
> URL: https://issues.apache.org/jira/browse/SCB-651
> Project: Apache ServiceComb
> Issue Type: Bug
> Components: Java-Chassis
> Affects Versions: java-chassis-1.0.0-m1
> Reporter: Sean Li
> Assignee: Sean Li
> Priority: Major
> Attachments: limit value as 1.jpeg, limit value as 2.jpeg
>
>
> When setting _servicecomb.flowcontrol.Provider.qps.limit.[ServiceName]_, the
> actual number of requests allowed per second are 1 less than the limit value.
>
> For example, if I set _flowcontrol.Provider.qps.limit._
> _business-service-consumer_ as 1, I'll get NO successful request at the very
> beginning, although I would expect 1 successful request instead of none.
> Similarly, if I set _flowcontrol.Provider.qps.limit._
> _business-service-consumer_ as 2, I'll get 1 successful request instead of
> 2.
>
> -However, if I pause before sending requests, for example add
> _Thread.sleep(100)_ before invoking the first request, the number of requests
> allowed per second will be correct this time. (i.e. 1 successful request when
> limit value is 1, 2 successful requests when limit value is 2, etc.)-
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)