Using twemproxy with redis, "auto_eject_hosts" does not work

I used Twemproxy 0.3.0 with redis 2.8 of the following configurations.

alpha:
  listen: 10.3.0.71:22121
  hash: fnv1a_64
  distribution: ketama
  auto_eject_hosts: true
  redis: true
  server_retry_timeout: 2000
  server_failure_limit: 2
  server_connections: 300
  servers:
  - xxx.0.0.1:6379:1 server01 
  - xxx.0.0.2:6380:1 server02
  - xxx.0.0.3:6381:1 server03

I assume that if server01 pops up or fails to respond to server_failure_limit, then twemproxy emits (removes) server01 from the alpha pool and works with sequential hashing for the remaining servers02 and server03.

As a result, my expectation is broken.

Twemproxy did not delete the automatically broken server (server01).

So, my python test client program encountered a "Connection refused" error in the loop.

Is my expectation true? If not, how can I solve this problem?

+3
source share

All Articles