From c059d8d585ea983e9282b96b32e27d5fe42fd6d1 Mon Sep 17 00:00:00 2001
From: Alexander Solovyov <alexander@solovyov.net>
Date: Thu, 4 Apr 2024 14:57:27 +0300
Subject: [PATCH] do not print stacktrace when client closes connection too
 early (#40834)

---
 src/metabase/query_processor/streaming.clj | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/metabase/query_processor/streaming.clj b/src/metabase/query_processor/streaming.clj
index cbd94799f0f..543a405d45b 100644
--- a/src/metabase/query_processor/streaming.clj
+++ b/src/metabase/query_processor/streaming.clj
@@ -16,7 +16,8 @@
   (:import
    (clojure.core.async.impl.channels ManyToManyChannel)
    (java.io OutputStream)
-   (metabase.async.streaming_response StreamingResponse)))
+   (metabase.async.streaming_response StreamingResponse)
+   (org.eclipse.jetty.io EofException)))
 
 (set! *warn-on-reflection* true)
 
@@ -139,7 +140,10 @@
     (fn result [result]
       (when (= (:status result) :completed)
         (log/debug "Finished writing results; closing results writer.")
-        (qp.si/finish! results-writer result)
+        (try
+          (qp.si/finish! results-writer result)
+          (catch EofException e
+            (log/error e "Client closed connection prematurely")))
         (u/ignore-exceptions
           (.flush os)
           (.close os)))
-- 
GitLab