AmatyaAvadhanula commented on issue #12701:
URL: https://github.com/apache/druid/issues/12701#issuecomment-1179469551

   
   
   Perhaps the task has reached `possiblyPause()` and is in a PAUSED state 
during the following part of the code resulting in something like a race 
condition?
   `
         if (isPaused()) {
           shouldResume.signalAll(); // kick the monitor so it re-awaits with 
the new pauseMillis
         }
   `
   I'm also not sure that `shouldResume` is the right signal here based on the 
comment on that line
   
   
   `possiblyPause()` may set the state to PAUSED at this point, because of 
which the state changes to READING before checking if the task is paused in the 
next part of the code where a 202 status is returned
   `      while (!isPaused()) {
           if (nanos <= 0L) {
             return Response.status(Response.Status.ACCEPTED)
                            .entity("Request accepted but task has not yet 
paused")
                            .build();
           }
           nanos = hasPaused.awaitNanos(nanos);
         }`
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to