From c85f3bdf23c1a7e6644197cfa9098db4423c3d40 Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Mon, 4 Apr 2016 21:43:37 +0300 Subject: [PATCH] another cdrstats purge fix --- engine/stats_queue.go | 14 ++++++++------ engine/stats_test.go | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/engine/stats_queue.go b/engine/stats_queue.go index d69ffd8dc..28c39cbb6 100644 --- a/engine/stats_queue.go +++ b/engine/stats_queue.go @@ -184,19 +184,21 @@ func (sq *StatsQueue) purgeObsoleteCdrs() { } } if sq.conf.TimeWindow > 0 { - var index int + index := -1 for i, cdr := range sq.Cdrs { if time.Now().Sub(cdr.SetupTime) > sq.conf.TimeWindow { sq.removeFromMetrics(cdr) + index = i continue } - index = i break } - if index > 0 { - sq.Cdrs = sq.Cdrs[index:] - } else { - sq.Cdrs = make([]*QCdr, 0) + if index != -1 { + if index > 0 { + sq.Cdrs = sq.Cdrs[index:] + } else { + sq.Cdrs = make([]*QCdr, 0) + } } } } diff --git a/engine/stats_test.go b/engine/stats_test.go index e74d8d86e..a35c98e57 100644 --- a/engine/stats_test.go +++ b/engine/stats_test.go @@ -227,7 +227,7 @@ func TestStatsAppendCdr(t *testing.T) { if len(cdrStats.queues) != 2 || len(cdrStats.queues["CDRST1"].Cdrs) != 0 || len(cdrStats.queues["CDRST2"].Cdrs) != 1 { - t.Error("Error appending cdr to queue: ", len(cdrStats.queues)) + t.Error("Error appending cdr to queue: ", utils.ToIJSON(cdrStats.queues)) } }