summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/TODO5
-rw-r--r--src/daq/flumotion-plug/s5.py6
2 files changed, 10 insertions, 1 deletions
diff --git a/doc/TODO b/doc/TODO
index 6691f01..d60114f 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -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)