If we stopped the service on host1, the key named
service.host1 and service.host1.host1 shoule be
delete. As the result, the topicexchange message
would not sent to host1. But the fact is
service.host1 still exsit, and topicexchange
message may still sent to host1.
To resolve this problem , change the comparison of
ttl function from -1 to -2 according to http://redis.io/commands/ttl
Change-Id: I5c0af97019fffed6e949eb58d7d60c85f5b08ea1
Closes-Bug:#1417464
(cherry picked from commit 1958f6e549d3769202960f5af93982afea74cd80)
Reviewed: https:/ /review. openstack. org/172038 /git.openstack. org/cgit/ openstack/ oslo.messaging/ commit/ ?id=671c60d3a5c 21169978805ca4e d616941a3aeabf
Committed: https:/
Submitter: Jenkins
Branch: stable/kilo
commit 671c60d3a5c2116 9978805ca4ed616 941a3aeabf
Author: zhangjl <email address hidden>
Date: Tue Feb 3 18:56:47 2015 +0800
Fix the bug redis do not delete the expired keys
When using redis as zmq backend,
the keys in redis maybe like follows:
"service" host1" host1.host1" host2" host2.host2" host3" host3.host3"
"service.
"service.
"service.
"service.
"service.
"service.
If we stopped the service on host1, the key named
service.host1 and service.host1.host1 shoule be
delete. As the result, the topicexchange message
would not sent to host1. But the fact is
service.host1 still exsit, and topicexchange
message may still sent to host1.
To resolve this problem , change the comparison of redis.io/ commands/ ttl
ttl function from -1 to -2 according to
http://
Change-Id: I5c0af97019fffe d6e949eb58d7d60 c85f5b08ea1 Bug:#1417464 202960f5af93982 afea74cd80)
Closes-
(cherry picked from commit 1958f6e549d3769