High traffic can result in HTTP 503 errors
Bug #1835900 reported by
Barry Price
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Content Cache Charm |
Fix Released
|
Critical
|
Barry Price |
Bug Description
In a deploy with a (default) 1GB maximum cache size, the cache filled up.
For some reason, nginx wasn't able to garbage-collect in order to make more room.
This left the service responding with HTTP 503 errors instead of the requested content.
Related branches
~barryprice/content-cache-charm/+git/content-cache-charm:configurable-maxconn
- Joel Sing (community): Approve (+1)
- Stuart Bishop (community): Approve
-
Diff: 409 lines (+70/-59)7 files modifiedREADME.md (+7/-2)
lib/haproxy.py (+3/-2)
reactive/content_cache.py (+3/-0)
tests/unit/files/config_test_config.txt (+4/-2)
tests/unit/files/content_cache_rendered_haproxy_test_output.txt (+23/-23)
tests/unit/files/haproxy_config_rendered_backends_stanzas_test_output.txt (+15/-15)
tests/unit/files/haproxy_config_rendered_test_output.txt (+15/-15)
Changed in content-cache-charm: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
Changed in content-cache-charm: | |
assignee: | nobody → Barry Price (barryprice) |
status: | Confirmed → In Progress |
Changed in content-cache-charm: | |
status: | In Progress → Fix Committed |
Changed in content-cache-charm: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Working theory is that this was caching sufficiently large objects, and had sufficient simultaneous slow clients connected, that every object in the cache was already being used at the point where it filled up, with no room for any more, but no candidates for deletion.
Lots of "ignore long locked inactive cache entry" in the nginx logs, but nothing else of interest - and no sign of nginx process restarts or segfaults.