microsoft / microsoft/retina

operator: does not clean up stale RetinaEndpoints across restarts

Open
#2,708 0 comments 0 reactions 0 assignees Claimed by @mmckeen View on GitHub
Dominant language
Go
Stars
3.2k
Forks
304
Avg merge
1d 19h
Merged PRs (30d)
78

Description

**Describe the bug**

`RetinaEndpoint` objects can leak across missed events in the operator, called out in https://github.com/microsoft/retina/blob/0a8044757e75e4104a0ca4c6ea25821854505320/pkg/controllers/operator/retinaendpoint/retinaendpoint_controller.go#L47.

**To Reproduce**

Stop operator pod, delete some pods, restart operator pod. Notice that the `RetinaEndpoints` for the deleted pods are not cleaned up.

**Expected behavior**

Any `RetinaEndpoint` objects no longer exist for deleted pods.

**Additional context**

Fixed by https://github.com/microsoft/retina/pull/2707.

Contributor guide

Open the contributing guide

Research direction

Start with pkg/controllers/operator/retinaendpoint/retinaendpoint_controller.go at the referenced line and review the restart scenario: stop the operator, delete pods, and restart it. Compare the behavior with linked pull request #2707. Done means RetinaEndpoint objects for deleted pods are removed after missed events and an operator restart.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
networking, observability-sre
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.