openebs / lvm-localpv

Dynamically provision Stateful Persistent Node-Local Volumes & Filesystems for Kubernetes that is integrated with a backend LVM2 data storage stack.
Apache License 2.0
245 stars 92 forks source link

fix: Modify ratelimiter for controlled exponential backoff in lvmvolume controller #195

Closed abhilashshetty04 closed 2 years ago

abhilashshetty04 commented 2 years ago

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:

pawanpraka1 commented 2 years ago

@abhilashshetty04 can you DCO signoff this PR?

abhilashshetty04 commented 2 years ago

@niladrih Commit is DCO signed off