Add except path with exception debug to send_recv
The related bug resulted when an exception occurred within the future.result() call. This caused the finally block to be executed, and therefore myid to be deleted from self.outstanding_msgs prior to _reader_main() checking if the msgid not in self.outstanding_msgs. This caused _reader_main() to raise an AssertionError because the msgid was no longer in outstanding_msgs. This is a small step forward to log a warning when this siutation occurs. Related-Bug: #1927868 Change-Id: I2eed242e0c796b8a2aa3d1b21bd1da4c497f624d
This commit is contained in:
parent
f7f3349d6a
commit
4f1450677f
|
@ -24,6 +24,7 @@ import datetime
|
||||||
import enum
|
import enum
|
||||||
import logging
|
import logging
|
||||||
import socket
|
import socket
|
||||||
|
import sys
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
import msgpack
|
import msgpack
|
||||||
|
@ -186,6 +187,9 @@ class ClientChannel(object):
|
||||||
self.writer.send((myid, msg))
|
self.writer.send((myid, msg))
|
||||||
|
|
||||||
reply = future.result()
|
reply = future.result()
|
||||||
|
except Exception:
|
||||||
|
LOG.warning("Unexpected error: {}".format(sys.exc_info()[0]))
|
||||||
|
raise
|
||||||
finally:
|
finally:
|
||||||
del self.outstanding_msgs[myid]
|
del self.outstanding_msgs[myid]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue