Closed Bug 1263038 Opened 10 years ago Closed 10 years ago

universal-search-recommendation deployment at 2016.04.14

Categories

(Cloud Services :: Operations: Deployment Requests - DEPRECATED, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: chuck, Assigned: mostlygeek)

References

Details

Tag: 2014.04.07 Build finished successfully. Please deploy to both staging and production and flush memcached for each. With this, we should be logging request summaries to stdout and sending the appropriate cache control headers on responses. Thanks!
What are the reasons for flushing memcached on deployments?
Flags: needinfo?(charmston)
With each deploy we've updated the format of the responses, which are generated by workers and read directly out of memcached [1]. This blunt force approach won't be needed once we have users, but for now, it's the simplest way to keep them fresh. This deploy adds a 7 day/configurable TTL on memcached entries, which will be one way to expire stale entries. Eventually we'll have beat processes that update popular entries in the background. Is that a burdensome approach? Is there a way we can make it easier on you? [1] https://github.com/mozilla/universal-search-recommendation/blob/master/recommendation/views/main.py#L33-L43
Flags: needinfo?(charmston)
I think it'd be better for the service if the schema was versioned in some way. During deployment we roll out new servers beside old in the loadbalancer. So for a time both versions of the schema will be in redis and memcache. It's essential the code knows how to handle old and new messages so we don't get weird crashes and behavior.
Also this deployment is blocked on this issue which just paged me: https://github.com/mozilla/universal-search-recommendation/issues/92
Note: I disabled the pingdom checks until the issue #92 is resolved so it doesn't blow up redis in the middle of the night again.
The add-on won't crash and burn if it receives an old schema; it will just show partial data, which I think is acceptable. I think that's fine. As I noted in the bug, I think the Redis pooling issues are configuration-related, not app-related. I did offer a few suggestions; let me know if I can help debug further. Sorry it gave you a late-night ping!
WONTFIX in favor of bug #1263682
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
Read bug #1263682, reopening this one for deployment
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Summary: universal-search-recommendation deployment at 2014.04.07 → universal-search-recommendation deployment at 2016.04.07
Tested 2016.04.07 in stage with: > while true; do curl localhost/__heartbeat__ ; netstat -aln | grep 6379 | grep ESTAB | wc -l; done The number of open established connections continue to grow.
Summary: universal-search-recommendation deployment at 2016.04.07 → universal-search-recommendation deployment at 2016.04.14
The socket exhaustion bug to redis was fixed in 2016.04.14. This has been deployed to stage and tested. I deemed it ready for production and rolled it out. Verified that the socket use bug is gone.
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
\o/ thanks for the help, my friend.
You need to log in before you can comment on or make changes to this bug.