From 83baaa1212af188db7db547a0a91560d161437a4 Mon Sep 17 00:00:00 2001 From: Chenjie Yu Date: Mon, 19 Mar 2018 10:41:35 -0700 Subject: Fix pulling interval may become 0 in cts If the bucket size is lower than 1 min, the interval should be at least 1 min. Bug: 74533948 Test: cts Change-Id: Icb72579367cd12d3f475c7e2935b98c0ebc66419 --- cmds/statsd/src/external/StatsPullerManagerImpl.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmds/statsd/src/external/StatsPullerManagerImpl.cpp b/cmds/statsd/src/external/StatsPullerManagerImpl.cpp index 72a00cb6834e..fb0be733bc74 100644 --- a/cmds/statsd/src/external/StatsPullerManagerImpl.cpp +++ b/cmds/statsd/src/external/StatsPullerManagerImpl.cpp @@ -166,6 +166,11 @@ void StatsPullerManagerImpl::RegisterReceiver(int tagId, wp re // Round it to the nearest minutes. This is the limit of alarm manager. // In practice, we should limit it higher. long roundedIntervalMs = intervalMs/1000/60 * 1000 * 60; + // Scheduled pulling should be at least 1 min apart. + // This can be lower in cts tests, in which case we round it to 1 min. + if (roundedIntervalMs < 60 * 1000) { + roundedIntervalMs = 60 * 1000; + } // There is only one alarm for all pulled events. So only set it to the smallest denom. if (roundedIntervalMs < mCurrentPullingInterval) { VLOG("Updating pulling interval %ld", intervalMs); -- cgit v1.2.3-59-g8ed1b