We have changed the rate limiter which was used in snapshot controller. This rate limiter re queues failed items after 5 secs for first 12 attempts. Then objects are re queued after 30 secs.
This is the new rate limiter being used:
rateLimiter := workqueue.NewItemFastSlowRateLimiter(5*time.Second, 30*time.Second, 12)
We used to use DefaultControllerRateLimiter() before this which would re queue failed items after 5ms delay which is really not required for Lvm localpv system. reconciliation failures are mostly misconfigurations on worker nodes where vol/snapshot being created doesn't have any network calls as far as node plugin implementation is concerned.
We have changed the rate limiter which was used in snapshot controller. This rate limiter re queues failed items after 5 secs for first 12 attempts. Then objects are re queued after 30 secs.
This is the new rate limiter being used:
rateLimiter := workqueue.NewItemFastSlowRateLimiter(5*time.Second, 30*time.Second, 12)
We used to use DefaultControllerRateLimiter() before this which would re queue failed items after 5ms delay which is really not required for Lvm localpv system. reconciliation failures are mostly misconfigurations on worker nodes where vol/snapshot being created doesn't have any network calls as far as node plugin implementation is concerned.
Checklist:
<type>(<scope>): <subject>