You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a filter with a loooot of steps. See this one.
Check network request
Verify we get same long request error -> Request Line is too large (4216 > 4094)
Note: This bug only occurs in Self-Hosted and Cloud setups
This limitation doesn't exist in local dev setup because there is no gunicorn layer in local dev that limits the number of chars in our requests docs. It's probably why we didn't notice the bug. An example pipeline on localhost whose request is ~6000 chars long works correctly.
Solution A - Tim's solution
Change GET to POST endpoint.
Pros
No restriction on limit
Secure
Cons
Involves deep code change (frontend and backend stack)
Confusing API (acts like a GET, looks like a POST)
Solution B - Change gunicorn limit_request_line config <-- Chose this one b/c pro's are stronger and con's can be mitigated
Change limit_request_line to 0 (unlimited) or 8190 (max).
Pros
Doesn't involve deep code change
API method stays consistent with action
Cons
Unlimited request length is a security risk for DDOS attacks. Can mitigate by setting to 8190.
Next Steps
Write test. Run tests in self hosted env which will fail.
Bug description
We've had a user create a funnel with Korean characters and 17 steps, which causes this issue:
![image](https://user-images.githubusercontent.com/1727427/120301818-8c212a00-c2cd-11eb-8b00-7ba242e4a9ab.png)
Expected behavior
We should send requests to api/insight/funnel using POST instead of GET.
How to reproduce
Environment
Additional context
Thank you for your bug report – we love squashing them!
The text was updated successfully, but these errors were encountered: