From 2e79f212765d275fe3f23dec7002fc371558e85f Mon Sep 17 00:00:00 2001 From: Marco Slot Date: Thu, 3 Dec 2020 22:03:25 +0100 Subject: [PATCH] Make citus_nodes tolerant to node failure --- src/backend/distributed/sql/udfs/citus_nodes/10.0-1.sql | 4 ++-- src/backend/distributed/sql/udfs/citus_nodes/latest.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend/distributed/sql/udfs/citus_nodes/10.0-1.sql b/src/backend/distributed/sql/udfs/citus_nodes/10.0-1.sql index f1660bf97..cbd02eb60 100644 --- a/src/backend/distributed/sql/udfs/citus_nodes/10.0-1.sql +++ b/src/backend/distributed/sql/udfs/citus_nodes/10.0-1.sql @@ -3,7 +3,7 @@ SELECT nodename AS "Host", nodeport AS "Port", CASE WHEN groupid = 0 THEN 'coordinator' ELSE 'worker' END AS "Node Type", - pg_size_pretty(citus_node_database_size(nodename, nodeport)) AS "Database Size", + pg_size_pretty(nullif(citus_node_database_size(nodename, nodeport),0)) AS "Database Size", (SELECT count(*) FROM @@ -32,7 +32,7 @@ SELECT (shardid) WHERE p.groupid = n.groupid AND t.partmethod = 'n' AND t.repmodel = 't' ) AS "Reference Tables", - round(100 * (1. - (ds.available_disk_size::double precision / ds.total_disk_size))) || '%' AS "Disk Usage" + round(100 * (1. - (ds.available_disk_size::double precision / nullif(ds.total_disk_size, 0)))) || '%' AS "Disk Usage" FROM pg_dist_node n, citus_node_disk_space_stats(n.nodename, n.nodeport) ds diff --git a/src/backend/distributed/sql/udfs/citus_nodes/latest.sql b/src/backend/distributed/sql/udfs/citus_nodes/latest.sql index f1660bf97..cbd02eb60 100644 --- a/src/backend/distributed/sql/udfs/citus_nodes/latest.sql +++ b/src/backend/distributed/sql/udfs/citus_nodes/latest.sql @@ -3,7 +3,7 @@ SELECT nodename AS "Host", nodeport AS "Port", CASE WHEN groupid = 0 THEN 'coordinator' ELSE 'worker' END AS "Node Type", - pg_size_pretty(citus_node_database_size(nodename, nodeport)) AS "Database Size", + pg_size_pretty(nullif(citus_node_database_size(nodename, nodeport),0)) AS "Database Size", (SELECT count(*) FROM @@ -32,7 +32,7 @@ SELECT (shardid) WHERE p.groupid = n.groupid AND t.partmethod = 'n' AND t.repmodel = 't' ) AS "Reference Tables", - round(100 * (1. - (ds.available_disk_size::double precision / ds.total_disk_size))) || '%' AS "Disk Usage" + round(100 * (1. - (ds.available_disk_size::double precision / nullif(ds.total_disk_size, 0)))) || '%' AS "Disk Usage" FROM pg_dist_node n, citus_node_disk_space_stats(n.nodename, n.nodeport) ds