mirror of https://github.com/docker/docs.git
Fix zookeeper watch methods with key being formatted twice before given to GetRange
Signed-off-by: Alexandre Beslic <abronan@docker.com>
This commit is contained in:
parent
e039563c78
commit
8909dfda63
|
|
@ -115,14 +115,14 @@ func (s *Zookeeper) Exists(key string) (bool, error) {
|
||||||
|
|
||||||
// Watch a single key for modifications
|
// Watch a single key for modifications
|
||||||
func (s *Zookeeper) Watch(key string, _ time.Duration, callback WatchCallback) error {
|
func (s *Zookeeper) Watch(key string, _ time.Duration, callback WatchCallback) error {
|
||||||
key = format(key)
|
fkey := format(key)
|
||||||
_, _, eventChan, err := s.client.GetW(key)
|
_, _, eventChan, err := s.client.GetW(fkey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a new Watch entry with eventChan
|
// Create a new Watch entry with eventChan
|
||||||
s.watches[key] = eventChan
|
s.watches[fkey] = eventChan
|
||||||
|
|
||||||
for e := range eventChan {
|
for e := range eventChan {
|
||||||
if e.Type == zk.EventNodeChildrenChanged {
|
if e.Type == zk.EventNodeChildrenChanged {
|
||||||
|
|
@ -173,14 +173,14 @@ func (s *Zookeeper) DeleteRange(prefix string) error {
|
||||||
|
|
||||||
// WatchRange triggers a watch on a range of values at "directory"
|
// WatchRange triggers a watch on a range of values at "directory"
|
||||||
func (s *Zookeeper) WatchRange(prefix string, filter string, _ time.Duration, callback WatchCallback) error {
|
func (s *Zookeeper) WatchRange(prefix string, filter string, _ time.Duration, callback WatchCallback) error {
|
||||||
prefix = format(prefix)
|
fprefix := format(prefix)
|
||||||
_, _, eventChan, err := s.client.ChildrenW(prefix)
|
_, _, eventChan, err := s.client.ChildrenW(fprefix)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a new Watch entry with eventChan
|
// Create a new Watch entry with eventChan
|
||||||
s.watches[prefix] = eventChan
|
s.watches[fprefix] = eventChan
|
||||||
|
|
||||||
for e := range eventChan {
|
for e := range eventChan {
|
||||||
if e.Type == zk.EventNodeChildrenChanged {
|
if e.Type == zk.EventNodeChildrenChanged {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue