Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bug 1525 - moxi eating 100% cpu due to conn_pause
Compared to memcached, moxi adds a new 'conn_pause' state to the drive_machine() state machine. Some of the new membase/vbucket features, especially when encountering a pending vbucket (where the downstream server blocks for a potentially appreciably long time), were exercising this codepath a lot more. In this case, the upstream connection (to the application/client) was left in conn_pause state. In one of the situations where I caught the 100% cpu situation, the drive_machine() was spin looping on conn_pause'ed connections. One thing that might lead to this is moxi code seems to (incorrectly) not be unregistering the libevent registrations for upstream connections that go into conn_pause state. As a catch-all fix, any connections that are in conn_pause will have their libevent registrations event_del()'ed. Change-Id: Ia88133a6cb97209fff6bab465a14b934b2dd6274 Reviewed-on: http://review.northscale.com:8080/844 Reviewed-by: Dustin Sallings <dustin@spy.net> Tested-by: Dustin Sallings <dustin@spy.net>
- Loading branch information