diff options
-rw-r--r-- | doc/TODO | 5 | ||||
-rw-r--r-- | src/daq/flumotion-plug/s5.py | 6 |
2 files changed, 10 insertions, 1 deletions
@@ -1,2 +1,5 @@ * how to handle NaN values form batch importer like flumotion-rrd? -* should we allow floats for client-count, bytes-sent etc.?
\ No newline at end of file +* should we allow floats for client-count, bytes-sent etc.? +* address issues with python-twisted dropping messages when transmit + buffer is full +* move common code of python-twisted based importer to seperate module
\ No newline at end of file diff --git a/src/daq/flumotion-plug/s5.py b/src/daq/flumotion-plug/s5.py index d8f7f3c..e703026 100644 --- a/src/daq/flumotion-plug/s5.py +++ b/src/daq/flumotion-plug/s5.py @@ -75,6 +75,12 @@ class SFiveProto(protocol.ConnectedDatagramProtocol): def sendDatagram(self, data): try: + ## TODO: twisted will drop messages if the write buffer is full. + ## Some batch importer work around this issue by sleeping + ## and trying again. For live importer the fix is not applicable + ## but also not as common because unlike live sources batch + ## importer produce a lot of data in a very short period of time. + ## Anyway this issue needs to be addressed! return self.transport.write(data) except socket_error as err: self._plug.warning('SFive: sending datagram failed: %s', err) |