Skip to content

Update troubleshooting.mdx #576

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

Merged
merged 5 commits into from
Aug 8, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 16 additions & 14 deletions website/docs/advanced/troubleshooting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,21 @@ title: Troubleshooting
description: This section helps you troubleshoot your issues. It's a good idea to double check these before contacting support.
---

The following issues were reported by customers. We collected what we learned and the possible solutions.
The following issues were reported by customers. We've collected what we've learned and provided the possible solutions below.

## Long response times and connection issues

First, you can verify on the [Service Status Monitor](https://status.configcat.com) whether ConfigCat is up and running or there is a planned maintenance.
First, check the [Service Status Monitor](https://status.configcat.com) to see if ConfigCat is up and running or if there is any planned maintenance.

### General SDK Checklist

1. It might be a good idea to update the ConfigCat SDK to the latest version.
1. Check if you configured the [Data Governance](../advanced/data-governance.mdx) functionality properly.
1. Singleton: We strongly recommend using the ConfigCat SDK as a Singleton. Initializing the SDK over and over again can cause serious performance issues in production. If you want to use multiple SDK Keys in the same application, create only one _ConfigCat Client_ per SDK Key.
1. Are you using the proper polling mode for your use case? Details on polling modes in the [SDK Docs](../sdk-reference/overview.mdx).
1. Might be a too frequent `Auto Polling` interval. Please check the [SDK Docs](../sdk-reference/overview.mdx).
1. In `Manual Polling` mode, it could be a too frequent `forceRefresh()` call in your code, making the SDK download the config JSON often.
1. Make sure you're using the latest version of the ConfigCat SDK.
1. Check if you've configured the [Data Governance](../advanced/data-governance.mdx) functionality correctly.
1. Singleton: We strongly recommend using the ConfigCat SDK as a Singleton object. Initializing the SDK multiple times can cause serious performance issues in production. If you need to use multiple SDK Keys in the same application, create only one _ConfigCat Client_ per SDK Key.
1. Are you using the proper polling mode for your use case? Details on polling modes in the [SDK
Docs](../sdk-reference/overview.mdx).
1. Are you using the right polling interval for `Auto Polling`? Too frequent polling will increase your network traffic. Please check the [SDK Docs](../sdk-reference/overview.mdx).
1. In `Manual Polling` mode, are you calling `forceRefresh()` in your code as frequently as needed? Excessive refreshes will increase your network traffic.
1. You can try one of our lightweight sample applications to rule out local issues. Find in the [repository of each SDK](https://github.com/configcat).

### Network Checklist
Expand All @@ -26,17 +27,18 @@ First, you can verify on the [Service Status Monitor](https://status.configcat.c
Please, **do not load test** the ConfigCat production infrastructure without our consent.
:::

1. You can check the response times manually by navigating to `https://cdn.configcat.com/ping.txt` and opening your browser's network tab.
1. Does the machine/server your code runs on has access to the above address?
1. You can check response times manually by navigating to `https://cdn.configcat.com/ping.txt` and opening your browser's network tab.
1. Does the machine/server running your code have access to the above address?
1. You might need to whitelist the following addresses in your firewall: `cdn.configcat.com`, `cdn-eu.configcat.com`, `cdn-global.configcat.com`.

---

## Too many requests error in Angular

The problem was caused by Angular's Hot Module Replacement functionality during development. The wrapper class, which contained the auto polling ConfigCat SDK was edited, and the Hot Module Replacement reinitialized the whole class without releasing the old, replaced module's Auto Polling timer.
We believe that this is a really rare case, it could happen only during development.
This issue can occur due to Angular's Hot Module Replacement functionality during development when you have a class that wraps the ConfigCat SDK running in Auto Polling mode and the wrapper class is edited. The Hot Module Replacement may reinitialize the whole class without stopping the ConfigCat SDK's Auto Polling timer in the old, replaced module.

## Python Auto polling issue with uWSGI web server
We consider this a rare edge case that only happens during development.

The Python SDK's Auto polling mode utilizes its polling job in a `threading.Thread` object. If you are running your application behind an uWSGI web server, the auto polling mode may not work as expected because the uWSGI web server disables Python's threading by default. Please [enable threading](https://uwsgi-docs.readthedocs.io/en/latest/Options.html#enable-threads) or switch to another polling mode in this case.
## Python Auto Polling issue with uWSGI web server

The Python SDK's Auto Polling mode runs its polling job in a `threading.Thread` object. If you run your application behind an uWSGI web server, the Auto Polling mode may not work as expected because the uWSGI web server disables Python's threading by default. Please [enable threading](https://uwsgi-docs.readthedocs.io/en/latest/Options.html#enable-threads) or switch to another polling mode in this case.