From 8ffbc69a4decbc128ac6aead368d41333efb8ef0 Mon Sep 17 00:00:00 2001 From: Johanna Amann Date: Mon, 16 Nov 2020 15:36:50 +0000 Subject: [PATCH] Sumstats: epoch_finished was not called under certain circumstances In non-clustered mode, epoch_finished was not called when there was no data during the epoch. This behavior does not fit the documentation, and also is different in cluster-mode, where epoch_finished is, indeed, called after every epoch. This small change fixes this behavior. --- scripts/base/frameworks/sumstats/non-cluster.zeek | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/base/frameworks/sumstats/non-cluster.zeek b/scripts/base/frameworks/sumstats/non-cluster.zeek index 630f36bbcd..8146dc50bf 100644 --- a/scripts/base/frameworks/sumstats/non-cluster.zeek +++ b/scripts/base/frameworks/sumstats/non-cluster.zeek @@ -43,9 +43,15 @@ event SumStats::finish_epoch(ss: SumStat) if ( ss?$epoch_finished ) ss$epoch_finished(now); } - else if ( |data| > 0 ) + else { - event SumStats::process_epoch_result(ss, now, copy(data)); + if ( |data| > 0 ) + event SumStats::process_epoch_result(ss, now, copy(data)); + else + { + if ( ss?$epoch_finished ) + ss$epoch_finished(now); + } } }