diff options
| author | 2023-05-18 11:15:17 +0000 | |
|---|---|---|
| committer | 2023-05-18 11:15:17 +0000 | |
| commit | fe05e72dca245a669fe6fe360851ca5200a697e0 (patch) | |
| tree | d9d6821c6d198934175f9fef0975de19cd0eda3d | |
| parent | 32ad56d2cb2551fbf6c7a8573a45ba6f3e0f4fd5 (diff) | |
| parent | a408425660aa5044965c25acce26a9a74073e71d (diff) | |
Merge "Make rate limiting less aggressive for recurrent crashes" into udc-dev am: dab9fe86c0 am: a408425660
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23285877
Change-Id: I2ecf7b191ccfc5de0a823acb84529ab6f2765714
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/am/DropboxRateLimiter.java | 2 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/am/DropboxRateLimiterTest.java | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/am/DropboxRateLimiter.java b/services/core/java/com/android/server/am/DropboxRateLimiter.java index 727d4df96c47..b5c7215df899 100644 --- a/services/core/java/com/android/server/am/DropboxRateLimiter.java +++ b/services/core/java/com/android/server/am/DropboxRateLimiter.java @@ -40,7 +40,7 @@ public class DropboxRateLimiter { // If a process is rate limited twice in a row we consider it crash-looping and rate limit it // more aggressively. private static final int STRICT_RATE_LIMIT_ALLOWED_ENTRIES = 1; - private static final long STRICT_RATE_LIMIT_BUFFER_DURATION = 60 * DateUtils.MINUTE_IN_MILLIS; + private static final long STRICT_RATE_LIMIT_BUFFER_DURATION = 20 * DateUtils.MINUTE_IN_MILLIS; @GuardedBy("mErrorClusterRecords") private final ArrayMap<String, ErrorRecord> mErrorClusterRecords = new ArrayMap<>(); diff --git a/services/tests/servicestests/src/com/android/server/am/DropboxRateLimiterTest.java b/services/tests/servicestests/src/com/android/server/am/DropboxRateLimiterTest.java index 01563e27a787..36a565e58f56 100644 --- a/services/tests/servicestests/src/com/android/server/am/DropboxRateLimiterTest.java +++ b/services/tests/servicestests/src/com/android/server/am/DropboxRateLimiterTest.java @@ -140,19 +140,19 @@ public class DropboxRateLimiterTest { // Repeated crashes after the last reset being rate limited should be restricted faster. assertTrue(mRateLimiter.shouldRateLimit("tag", "process").shouldRateLimit()); - // We now need to wait 61 minutes for the buffer should be empty again. - mClock.setOffsetMillis(83 * 60 * 1000); + // We now need to wait 21 minutes for the buffer should be empty again. + mClock.setOffsetMillis(43 * 60 * 1000); assertFalse(mRateLimiter.shouldRateLimit("tag", "process").shouldRateLimit()); - // After yet another 61 minutes, this time without triggering rate limiting, the strict + // After yet another 21 minutes, this time without triggering rate limiting, the strict // limiting should be turnd off. - mClock.setOffsetMillis(144 * 60 * 1000); + mClock.setOffsetMillis(64 * 60 * 1000); assertFalse(mRateLimiter.shouldRateLimit("tag", "process").shouldRateLimit()); assertFalse(mRateLimiter.shouldRateLimit("tag", "process").shouldRateLimit()); // As rate limiting was not triggered in the last reset, after another 11 minutes the // buffer should still act as normal. - mClock.setOffsetMillis(155 * 60 * 1000); + mClock.setOffsetMillis(75 * 60 * 1000); // The first 6 entries should not be rate limited. assertFalse(mRateLimiter.shouldRateLimit("tag", "process").shouldRateLimit()); assertFalse(mRateLimiter.shouldRateLimit("tag", "process").shouldRateLimit()); |