Ori.livneh has uploaded a new change for review.

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

Change subject: Detect and ignore bogus KeyboardInterrupts raised by PyZMQ
......................................................................

Detect and ignore bogus KeyboardInterrupts raised by PyZMQ

PyZMQ==13.0.0 raises EINTRs as KeyboardInterrupt exceptions for some infernal
reason. See <https://github.com/zeromq/pyzmq/pull/338>.

Change-Id: Ia6b1282d46ab8e61ddb0e116eb154ba95e230288
---
M ganglia/python_modules/eventlogging_mon.py
1 file changed, 7 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/EventLogging 
refs/changes/25/119925/1

diff --git a/ganglia/python_modules/eventlogging_mon.py 
b/ganglia/python_modules/eventlogging_mon.py
index 54c568b..a8a92ae 100644
--- a/ganglia/python_modules/eventlogging_mon.py
+++ b/ganglia/python_modules/eventlogging_mon.py
@@ -79,6 +79,13 @@
             for socket, _ in poller.poll():
                 socket.recv(zmq.NOBLOCK)
                 counters[sockets[socket]] += 1
+        except KeyboardInterrupt:
+            # PyZMQ 13.0.x raises EINTR as KeyboardInterrupt.
+            # Fixed in <https://github.com/zeromq/pyzmq/pull/338>.
+            funcs = [frame[3] for frame in inspect.trace()]
+            if '_check_rc' in funcs:
+                continue
+            raise
         except zmq.ZMQError as e:
             # Calls interrupted by EINTR should be re-tried.
             if e.errno == errno.EINTR:

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia6b1282d46ab8e61ddb0e116eb154ba95e230288
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/EventLogging
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to