Skip to content

Reconcile loops in 0.10.0 cause ~660 logs/s #2

Description

@birksl

Description

Hi,

Thanks for creating the operator :)

We want to start using the operator in production, but during testing we found that the operator generated roughly 50% of the log volume on our test cluster. I worked with Claude to create a reproduction test with envtest, as well as implementing a fix. Claude wrote most of the code, but I have reviewed and tested it in our dev environment.

I have a PR stack with a fix for this plus a few other fixes I found, at birksl#15 if it is of interest. The PR descriptions contain further root cause analysis.

I believe we experienced the issue because our postgres and clickhouse secrets contained unexpected characters and paths, which langfuse itself is happy to consume, but the operator probes fail on. That is likely what led to the status conflicts since the probes report unhealthy but langfuse itself was running fine.

Steps to Reproduce

This branch adds an envtest test for reproducing the reconcile churn: https://github.com/birksl/langfuse-operator/tree/repro/reconcile-churn

Run make test after checking out the branch. The run takes ~100s and will report 600+ reconciliations over a 15s span.

Expected Behavior

I expect the controller to set a status explaining why it couldn't reconcile my instance.

Actual Behavior

A flood of identical logs going through all the reconciliation steps over and over again.

Environment

- Project version: v0.10.0
- OS: talos 1.12.6
- Kubernetes: v1.34.6
- Deployment method: Helm via fluxcd HelmRelease

Additional Context

My initial fix was to stop the reconciliation from churning due to status conflict. A second wave of fixes was to make the probes mimic langfuses behavior, or more clearly report why a probe failed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions