You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When a requeue is returned from the controller, the item is placed on the queue with a 1 minute interval regardless of what the code sends in To Reproduce
In your ReconcileAsync method simple return return ResourceControllerResult.RequeueEvent(TimeSpan.FromMinutes(15));
Expected behavior
dbug: KubeOps.Operator.Kubernetes.ResourceWatcher[0]
The server closed the connection. Trying to reconnect.
dbug: KubeOps.Operator.Controller.ManagedResourceController[0]
Execute/Reconcile event "Reconcile" on resource "ClusterEntity/auto-sample-await".
dbug: ClusterController[0]
Entered reconcile - state Verified - 4/25/2022 3:31:03 PM
info: KubeOps.Operator.Controller.ManagedResourceController[0]
Event type "Reconcile" on resource "ClusterEntity/auto-sample-await" successfully reconciled. Requeue requested with delay "00:15:00".
dbug: KubeOps.Operator.Kubernetes.ResourceWatcher[0]
The server closed the connection. Trying to reconnect.
dbug: KubeOps.Operator.Controller.ManagedResourceController[0]
Execute/Reconcile event "Reconcile" on resource "ClusterEntity/auto-sample-await".
dbug: ClusterController[0]
Entered reconcile - state Verified - 4/25/2022 3:32:03 PM <<== This shouldnt be every min, but should be every 15 mins
Additional context
This line seems to have something to do with the issue : dbug: KubeOps.Operator.Kubernetes.ResourceWatcher[0] The server closed the connection. Trying to reconnect.
The text was updated successfully, but these errors were encountered:
The watcher has a default timeout interval of 60 seconds, so it will always reconcile each resource no less frequently than once per minute.
Since a reconcile event enters the queue at that interval, the event with 15 min delay is dropped.
I forgot the de-duplication stuff isn't merged yet; the event w/ 15 minute delay should execute in addition to the "every one minute" that comes from the watcher reconnecting.
If you want to increase the timeout interval, adjust OperatorSettings.WatcherHttpTimeout to a higher value. For your example, maybe up to 1800 (30 minutes) so you can see that the re-queue is functioning.
Describe the bug
When a requeue is returned from the controller, the item is placed on the queue with a 1 minute interval regardless of what the code sends in
To Reproduce
In your
ReconcileAsync
method simple returnreturn ResourceControllerResult.RequeueEvent(TimeSpan.FromMinutes(15));
Expected behavior
Additional context
This line seems to have something to do with the issue :
dbug: KubeOps.Operator.Kubernetes.ResourceWatcher[0] The server closed the connection. Trying to reconnect.
The text was updated successfully, but these errors were encountered: