This is an automated email from the ASF dual-hosted git repository.

abhishek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new a0c29f8bbbe MSQ WorkerResource: Fix timeout handler for 
httpGetChannelData. (#17328)
a0c29f8bbbe is described below

commit a0c29f8bbbea1ae76b99bdcd0c323c53b16b1ec0
Author: Gian Merlino <[email protected]>
AuthorDate: Fri Oct 11 03:59:04 2024 -0700

    MSQ WorkerResource: Fix timeout handler for httpGetChannelData. (#17328)
    
    The timeout handler should fire if the response has not been handled yet
    (i.e. if responseResolved was previously false). However, it erroneously
    fires only if the response *was* handled. This causes HTTP 500 errors if
    the timeout actually does fire. The timeout is 30 seconds, which can be
    hit during pipelined queries, if an earlier stage of the query hasn't
    produced its first frame within 30 seconds.
    
    This fixes a regression introduced in #17140.
---
 .../src/main/java/org/apache/druid/msq/rpc/WorkerResource.java    | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/rpc/WorkerResource.java
 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/rpc/WorkerResource.java
index 20758883ddb..fd6207662af 100644
--- 
a/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/rpc/WorkerResource.java
+++ 
b/extensions-core/multi-stage-query/src/main/java/org/apache/druid/msq/rpc/WorkerResource.java
@@ -120,12 +120,10 @@ public class WorkerResource
           public void onTimeout(AsyncEvent event)
           {
             if (responseResolved.compareAndSet(false, true)) {
-              return;
+              HttpServletResponse response = (HttpServletResponse) 
asyncContext.getResponse();
+              response.setStatus(HttpServletResponse.SC_OK);
+              event.getAsyncContext().complete();
             }
-
-            HttpServletResponse response = (HttpServletResponse) 
asyncContext.getResponse();
-            response.setStatus(HttpServletResponse.SC_OK);
-            event.getAsyncContext().complete();
           }
 
           @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to