Skip to content

Reconciliation timeout #64

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
martadams89 opened this issue May 23, 2025 · 2 comments
Open

Reconciliation timeout #64

martadams89 opened this issue May 23, 2025 · 2 comments

Comments

@martadams89
Copy link
Contributor

Issue ##55 still present

Still getting this issue @ChrispyBacon-dev

2025-05-23 22:51:05,071 [INFO] [DockerEventListener] Successfully connected to Docker event stream.
2025-05-23 22:51:20,068 [INFO] [ReconciliationThread] [Reconcile Thread] Starting state reconciliation...
2025-05-23 22:51:20,068 [INFO] [Thread-1] Started reconciliation in background thread ReconciliationThread
2025-05-23 22:51:24,950 [INFO] [ReconciliationThread] [Reconcile] Found 30 running hostnames with DockFlare labels.
2025-05-23 22:55:30,069 [ERROR] [Thread-2] [Reconcile] WATCHDOG: Reconciliation taking too long (250.0s)! Forcing completion.

I think this value should be an env variable so it can be customised, I guess for a large number of records it might take time to parse

For what it's worth I'm using the external Cloudflare tunnel mode...

@ChrispyBacon-dev
Copy link
Owner

ChrispyBacon-dev commented May 24, 2025

OK thank you for pointing out that you run it in external mode.. I don't have any issues at all but I don't run it in external mode.

After looking into it it really seems related to external mode. With about 30x containers it is a combination not hitting API call limits.

reduce from 0.2s to 0.05s
if USE_EXTERNAL_CLOUDFLARED and i + batch_size < container_count: time.sleep(0.05)
and changed
max_total_time = 480 (8min)

let me know if it works

@martadams89
Copy link
Contributor Author

Still looks to be problematic, especially when polling other tunnels for records that exist.

The initial reconciliation appeared to work, but when I expanded my other tunnels (one doesn't have any DNS records associated) then it seemed to hang.

I also have multiple DNS Zones on one of my tunnels, and I added the variable to .env for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants