Description
Hello, it seems that when "zone" is defined the name filed is returned only for the first peer.
nginx version:
./nginx -v nginx version: openresty/1.9.15.1
upstreams.conf:
upstream http_local {
zone local_zone 64k;
server 127.0.0.1:80 ;
server 127.0.0.2:80 ;
keepalive 16;
}
access.lua:
log(ERR, cjson.encode(upstream.get_primary_peers(upstream_name)))
log(ERR, cjson.encode(upstream.get_servers(upstream_name)))
log.txt:
016/07/19 13:50:00 [error] 80976#0: *92 [lua] access.lua:91: [{"weight":1,"id":0,"conns":0,"fails":0,"current_weight":0,"fail_timeout":10,"effective_weight":1,"name":"127.0.0.1:80","max_fails":1},{"weight":0,"id":1,"conns":0,"fails":0,"current_weight":0,"down":true,"effective_weight":0,"fail_timeout":12,"checked":1.4057793776513e+14,"name":"","max_fails":16}], client: 127.0.0.1, server: _, request: "GET /index.php HTTP/1.1", host: "xxxxx"
2016/07/19 13:50:00 [error] 80976#0: *92 [lua] access.lua:92: [{"addr":"127.0.0.1:80","weight":1,"fail_timeout":10,"name":"127.0.0.1:80","max_fails":1},{"addr":"127.0.0.2:80","weight":1,"fail_timeout":10,"name":"127.0.0.2:80","max_fails":1}], client: 127.0.0.1, server: _, request: "GET /index.php HTTP/1.1", host: "xxxxx"
As you can see in the first log, the second "name " field is empty. If "zone" definition is removed than the result is ok. In contrast the upstream.get_servers method returns always good results.
This issue affects https://github.com/openresty/lua-resty-upstream-healthcheck