From 980657c4a425a17a22d58b3957f215db23958afc Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Wed, 13 Nov 2019 12:16:21 +0100 Subject: [PATCH] Do not add None to samples in case of connection error Otherwise we get `TypeError: unsupported operand type(s) for +: 'float' and 'NoneType'` when calculating the average. --- scripts-available/CDB_FederatedServerDiagnostics.sql | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts-available/CDB_FederatedServerDiagnostics.sql b/scripts-available/CDB_FederatedServerDiagnostics.sql index f0205f8..4904a38 100644 --- a/scripts-available/CDB_FederatedServerDiagnostics.sql +++ b/scripts-available/CDB_FederatedServerDiagnostics.sql @@ -151,6 +151,7 @@ AS $$ t_start = timer() samples = [] + n_errors = 0 for i in xrange(n_samples): try: @@ -159,13 +160,13 @@ AS $$ s.shutdown(socket.SHUT_RD) except (socket.timeout, OSError, socket.error), ex: plpy.warning('could not connect to server %s:%d, %s' % (host, port, str(ex))) - samples.append(None) + n_errors += 1 t_connect = (t_stop - t_start) * 1000.0 plpy.debug('TCP connection %s:%d time=%.2f ms' % (host, port, t_connect)) samples.append(t_connect) - return sum(samples) / n_samples + return sum(samples) / len(samples) $$ LANGUAGE plpythonu VOLATILE PARALLEL UNSAFE;