From d1705b5f3a3b438863d7d74000e5b9aa3c6e0829 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Tue, 24 Jan 2017 17:36:58 +0000 Subject: [PATCH] Try and flush failed chunks repeatedly when we're shutting down. --- ingester/ingester.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ingester/ingester.go b/ingester/ingester.go index 00887663410..f7e0f7ae797 100644 --- a/ingester/ingester.go +++ b/ingester/ingester.go @@ -481,9 +481,18 @@ func (i *Ingester) flushLoop(j int) { } op := o.(*flushOp) - if err := i.flushUserSeries(op.userID, op.fp, op.immediate); err != nil { + err := i.flushUserSeries(op.userID, op.fp, op.immediate) + if err != nil { log.Errorf("Failed to flush user: %v", err) } + + // If we're exiting & we failed to flush, keep trying. + for op.immediate && err != nil { + err = i.flushUserSeries(op.userID, op.fp, op.immediate) + if err != nil { + log.Errorf("Failed to flush user: %v", err) + } + } } }