eventing icon indicating copy to clipboard operation
eventing copied to clipboard

Uninstalled Event Source results in "Failed to list *v1.Source: the server could not find the requested resource"

Open aavarghese opened this issue 5 years ago • 11 comments

Describe the bug If we create a new Event Source, ie. we install Redis Stream Sources, the parent controller successfully creates a new dynamic controller for this particular Source. But if we uninstall this Source, the created dynamic controller is not properly destroyed. This results in error messages in the log:

E1130 20:07:23.537960       1 reflector.go:383] k8s.io/[email protected]+incompatible/tools/cache/reflector.go:125: Failed to watch *v1.Source: the server could not find the requested resource

E1130 20:07:24.782159       1 reflector.go:178] k8s.io/[email protected]+incompatible/tools/cache/reflector.go:125: Failed to list *v1.Source: the server could not find the requested resource

E1130 20:07:27.383944       1 reflector.go:178] k8s.io/[email protected]+incompatible/tools/cache/reflector.go:125: Failed to list *v1.Source: the server could not find the requested resource

This code to delete controller is never called: https://github.com/knative/eventing/blob/f4482c580e10dba9711b88e27ccde8b858831756/pkg/reconciler/source/crd/crd.go#L69-L76

Expected behavior Error line below isn't repeated over and over and the appropriate controllers are deleted.

To Reproduce Install knative-eventing

k apply --filename https://github.com/knative/eventing/releases/download/v0.19.0/eventing-crds.yaml
k apply  --filename https://github.com/knative/eventing/releases/download/v0.19.0/eventing-core.yaml

Install any eventing source For example, RedisStream

ko apply -f source/config

Delete the eventing source

For example, RedisStream

ko delete -f source/config

Knative release version 0.19.0

Additional context Same problem also in eventing-autoscaler-keda (same code) https://github.com/knative-sandbox/eventing-autoscaler-keda/issues/2

aavarghese avatar Nov 30 '20 20:11 aavarghese

I think the problem is that with genReconciler the ReconcileKind never gets called with deleted resources. You probably need to manually add a handler, kind of like we do in IMC here so that you can call the cleanup: https://github.com/knative/eventing/blob/master/pkg/reconciler/inmemorychannel/dispatcher/controller.go#L130

vaikas avatar Dec 07 '20 18:12 vaikas

@vaikas thanks for taking a look at this issue. I did attempt to implement the solution you suggested (similar to IMC) in the other sibling issue for this ... in eventing-autoscaler-keda: https://github.com/knative-sandbox/eventing-autoscaler-keda/pull/54/files#diff-9f218382398a14e88cf9424a19a54422d028e7df5a80e6d107b8d33052897859R64-R68 and unfortunately, the deleteFunc in CRD pkg doesn't get called and instead the specific SOURCE's eventhandler delete function gets called that doesn't have information of all the dynamic controllers created. So it doesn't help. This also happens here in eventing code. I tried it out for eventing this evening. So I'm blocked with both issues here until I can come up with another solution. Will appreciate any advice you have for me...

aavarghese avatar Dec 09 '20 05:12 aavarghese

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

github-actions[bot] avatar Mar 10 '21 01:03 github-actions[bot]

/reopen

aavarghese avatar Apr 09 '21 13:04 aavarghese

@aavarghese: Reopened this issue.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

knative-prow-robot avatar Apr 09 '21 13:04 knative-prow-robot

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

github-actions[bot] avatar Jul 10 '21 01:07 github-actions[bot]

/reopen /remove-lifecycle stale

lionelvillard avatar Aug 13 '21 13:08 lionelvillard

@lionelvillard: Reopened this issue.

In response to this:

/reopen /remove-lifecycle stale

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

knative-prow-robot avatar Aug 13 '21 13:08 knative-prow-robot

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

github-actions[bot] avatar Nov 12 '21 01:11 github-actions[bot]

/reopen /remove-lifecycle stale /triage accepted

pierDipi avatar Dec 12 '21 17:12 pierDipi

@pierDipi: Reopened this issue.

In response to this:

/reopen /remove-lifecycle stale /triage accepted

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

knative-prow-robot avatar Dec 12 '21 17:12 knative-prow-robot