From 559cd04634ae77a27b830c811c38f240993c1775 Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Mon, 4 Apr 2022 02:19:52 -0400 Subject: [PATCH] cam deal with filesystem bug --- sysd-prom-fail | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sysd-prom-fail b/sysd-prom-fail index 20e7c9b..ea84f74 100755 --- a/sysd-prom-fail +++ b/sysd-prom-fail @@ -66,8 +66,17 @@ fi if $write_count; then printf 'node_systemd_unit_result_fail_count{name="%s"} %s\n' "$ser_name" "$count" >$ftmp mv $ftmp $f + finaltmp=$dir/sysd-result-fail.prom.$$ + # i had a minor problem that multiple of these scripts executed at the same time, and ended up with + # multiple instances of the same file + # ls -lai + # ... + # 3896242 -rw-r--r-- 1 root root 439 Apr 4 00:02 sysd-result-fail.prom + # 3896242 -rw-r--r-- 1 root root 439 Apr 4 00:02 sysd-result-fail.prom + # 3896242 -rw-r--r-- 1 root root 439 Apr 4 00:02 sysd-result-fail.prom + # this seems harmless, https://www.spinics.net/lists/linux-btrfs/msg111245.html + # however, lets do a bit to avoid it: sleep a random amount of time from 0-.5 seconds. + sleep 0.$(( RANDOM % 500 )) + cat $dir/*-result-fail.premerge >$finaltmp + mv $finaltmp $dir/sysd-result-fail.prom fi - -finaltmp=$dir/sysd-result-fail.prom.$$ -cat $dir/*-result-fail.premerge >$finaltmp -mv $finaltmp $dir/sysd-result-fail.prom -- 2.30.2