-
Notifications
You must be signed in to change notification settings - Fork 18
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -4,19 +4,19 @@ 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. 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. 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. Might be a too frequent `Auto Polling` interval. Please check the [SDK Docs](../sdk-reference/overview.mdx). | ||||||
1. Your `Auto Polling` interval might be too frequent Please check the [SDK Docs](../sdk-reference/overview.mdx). | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suggest rephrasing this to be consistent with the other points. Plus, it might be worth mentioning the consequences.
Suggested change
|
||||||
1. In `Manual Polling` mode, it could be a too frequent `forceRefresh()` call in your code, making the SDK download the config JSON often. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
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). | ||||||
|
||||||
|
@@ -26,17 +26,17 @@ 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 occure due to Angular's Hot Module Replacement functionality during development. The wrapper class containing the Auto Polling ConfigCat SDK is edited, the Hot Module Replacement can reinitialize the whole class without releasing the old, replaced module's Auto Polling timer. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Got pretty incoherent, needs improvement. BTW, @laliconfigcat, is this still a relevant issue?
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it is relevant, but i didn't try it. |
||||||
We believe that this is a rare edge case that only happens during development. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
## Python Auto polling issue with uWSGI web server | ||||||
## Python Auto Polling issue with uWSGI web server | ||||||
|
||||||
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. | ||||||
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can simply remove this part as this issue has been solved in the SDKs for years now. I mean it's not possible to create multiple client instances for the same SDK Key. @laliconfigcat What do you think?