From bbca04fd7e72d4854bd0cfcbec09fe399c9924f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zlatko=20=C4=8Calu=C5=A1i=C4=87?= Date: Sun, 6 Nov 2016 18:14:08 +0100 Subject: [PATCH] Sync BLOB's to disk before returning OK status This slows down backup command up to 25% on a very fast network (read: localhost), but is the right thing to do. Safety first, performance second. --- handlers.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/handlers.go b/handlers.go index 1f057aa..da24d0e 100644 --- a/handlers.go +++ b/handlers.go @@ -190,6 +190,12 @@ func SaveBlob(c *Context) http.HandlerFunc { os.Remove(tmp) return } + if err := tf.Sync(); err != nil { + http.Error(w, "500 internal server error", 500) + tf.Close() + os.Remove(tmp) + return + } if err := tf.Close(); err != nil { http.Error(w, "500 internal server error", 500) os.Remove(tmp)