ArielGlenn has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/260561

Change subject: trusty 2014.7.5 continue reading events even after getting one 
with wrong tag
......................................................................

trusty 2014.7.5 continue reading events even after getting one with wrong tag

the event polling loop should return None if no events are available,
the event if we find one we 'subscribed' to (has a matching tag),
or keep reading if we got an event intended for another client.

Previously it returned None on reading an event with the wrong tag;
this caused the salt cli script to stop listening for minion
returns early.

This bug has been fixed in 2015.8.x due to a refactoring of the code.

Change-Id: Ib6fcfe0645c570d1fa5bd7c5d90a03d2cfd26261
---
A debian/patches/event_reading_returns_prematurely_WMF.patch
M debian/patches/series
2 files changed, 36 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/debs/salt 
refs/changes/61/260561/1

diff --git a/debian/patches/event_reading_returns_prematurely_WMF.patch 
b/debian/patches/event_reading_returns_prematurely_WMF.patch
new file mode 100644
index 0000000..cd5d882
--- /dev/null
+++ b/debian/patches/event_reading_returns_prematurely_WMF.patch
@@ -0,0 +1,35 @@
+Description: Continue reading events after reading one with wrong tag
+Author: Ariel T. Glenn <ar...@wikimedia.org>
+Forwarded: no
+--- a/salt/client/__init__.py
++++ b/salt/client/__init__.py
+@@ -808,11 +808,11 @@
+             if HAS_ZMQ:
+                 try:
+                     raw = event.get_event_noblock()
+-                    if (raw and (raw.get('tag', '').startswith(jid) or
+-                        any([raw.get('tag', '').startswith(tag) for tag in 
tag_search]))):
+-                        yield raw
+-                    else:
++                    if not raw:
+                         yield None
++                    elif (raw.get('tag', '').startswith(jid) or
++                        any([raw.get('tag', '').startswith(tag) for tag in 
tag_search])):
++                        yield raw
+                 except zmq.ZMQError as ex:
+                     if ex.errno == errno.EAGAIN or ex.errno == errno.EINTR:
+                         yield None
+@@ -820,10 +820,10 @@
+                         raise
+             else:
+                 raw = event.get_event_noblock()
+-                if raw and raw.get('tag', '').startswith(jid):
+-                    yield raw
+-                else:
++                if not raw:
+                     yield None
++                elif raw.get('tag', '').startswith(jid):
++                    yield raw
+ 
+     def get_iter_returns(
+             self,
diff --git a/debian/patches/series b/debian/patches/series
index ac37b55..4427e49 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@
 missing_locale_dir
 make-log-file-group-readable.patch
 batch_returns_bad_dict_WMF.patch
+event_reading_returns_prematurely_WMF.patch

-- 
To view, visit https://gerrit.wikimedia.org/r/260561
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib6fcfe0645c570d1fa5bd7c5d90a03d2cfd26261
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/salt
Gerrit-Branch: trusty
Gerrit-Owner: ArielGlenn <ar...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to