Discussion:
5.3.x Parent Consistent Hashing
Jeremy Payne
2015-04-27 15:27:06 UTC
Permalink
I noticed that parent consistent hashing only works when a unique weight is
defined per parent server; as seen with the below parent.config entry.

dest_domain=. parent="192.168.1.120:80|1.0; 192.168.1.121:180|2.0;
192.168.1.122:80|3.0" round_robin=consistent_hash


If I use either of the below entries, consistent hashing stops working. I
also notice that parent fail over stops working as well.
If the first listed parent server falls offline, then all edge requests
requiring a parent lookup will hang.

dest_domain=. parent="192.168.1.120:80|1.0; 192.168.1.121:80|1.0;
192.168.1.122:80|1.0" round_robin=consistent_hash

dest_domain=. parent="192.168.1.120:80; 192.168.1.121:80; 192.168.1.122:80"
round_robin=consistent_hash


With respect to 5.3.x, are unique weights required to support parent
consistent hashing ?

Thanks!
Phil Sorber
2015-04-27 15:37:21 UTC
Permalink
Post by Jeremy Payne
I noticed that parent consistent hashing only works when a unique weight
is defined per parent server; as seen with the below parent.config entry.
dest_domain=. parent="192.168.1.120:80|1.0; 192.168.1.121:180|2.0;
192.168.1.122:80|3.0" round_robin=consistent_hash
If I use either of the below entries, consistent hashing stops working. I
also notice that parent fail over stops working as well.
If the first listed parent server falls offline, then all edge requests
requiring a parent lookup will hang.
dest_domain=. parent="192.168.1.120:80|1.0; 192.168.1.121:80|1.0;
192.168.1.122:80|1.0" round_robin=consistent_hash
We use this with identical weights and it works for us. That is a valid use
case as far as I am concerned. The only thing of note that is different
between our config and yours is the extra spaces you have.
Post by Jeremy Payne
dest_domain=. parent="192.168.1.120:80; 192.168.1.121:80;
192.168.1.122:80" round_robin=consistent_hash
With respect to 5.3.x, are unique weights required to support parent
consistent hashing ?
Thanks!
hy05190134
2015-05-11 01:41:56 UTC
Permalink
we set no_dns_just_forward_to_parents 1 and we set round_robin = strict, but
we find that every time the parent selected is jump by two not one, then I
review the code and find that every time ats first check parentExist()
which will do findParent(), so it is not strict round_robin by this mean.



--
View this message in context: http://apache-traffic-server.24303.n7.nabble.com/5-3-x-Parent-Consistent-Hashing-tp1469p1508.html
Sent from the Apache Traffic Server mailing list archive at Nabble.com.
Phil Sorber
2015-05-13 21:25:40 UTC
Permalink
Post by hy05190134
we set no_dns_just_forward_to_parents 1 and we set round_robin =
strict, but
This is not using consistent hashing and does not use the weights.
Post by hy05190134
we find that every time the parent selected is jump by two not one, then I
review the code and find that every time ats first check parentExist()
which will do findParent(), so it is not strict round_robin by this mean.
--
http://apache-traffic-server.24303.n7.nabble.com/5-3-x-Parent-Consistent-Hashing-tp1469p1508.html
Sent from the Apache Traffic Server mailing list archive at Nabble.com.
Loading...