According to the `seastar::lowres_system_clock` reference:
> This clock has the same granularity as lowres_clock,
> but it is not required to be monotonic and its time
> points correspond to system time.
we should similar check as the classical `MonClient` does:
```cpp
if ((now > last_rotating_renew_sent) &&
double(now - last_rotating_renew_sent) < 1) {
ldout(cct, 10) << __func__ << " called too often (last: "
<< last_rotating_renew_sent << "), skipping refresh" << dendl;
return 0;
}
```
This check is rather paranoidal and the main reason behind it
in crimson is replicating the classical behaviour.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
logger().info("renew_rotating_keyring renewing rotating keys "
" (they expired before {})", cutoff);
}
- if (now - last_rotating_renew_sent < std::chrono::seconds{1}) {
- logger().info("renew_rotating_keyring called too often");
+ if ((now > last_rotating_renew_sent) &&
+ (now - last_rotating_renew_sent < std::chrono::seconds{1})) {
+ logger().info("renew_rotating_keyring called too often (last: {})",
+ utime_t{last_rotating_renew_sent});
return seastar::now();
}
last_rotating_renew_sent = now;