rsrkpatwari1234 opened a new pull request, #16244:
URL: https://github.com/apache/pinot/pull/16244

   For an incorrect segment download path, the /segments API failed with 500 
http code - causing confusion as to whether the pinot controllers are broken. 
On debugging logs, this seems to be due to FileNotFound exception which got 
wrapped by AttemptsExceededException - delaying debugging process.
   
   Changes done -
   - `BaseSegmentFetcher::fetchSegmentToLocal` will throw a custom 
`FileNotFoundWrapperException` in case 
`BaseSegmentFetcher::fetchSegmentToLocalWithoutRetry` throws a 
`FileNotFoundException`
   - `BaseRetryPolicy::attempt` will catch this exception and wrap it under 
`RetriableOperationException`
   - `BaseSegmentFetcher::fetchSegmentToLocal` further catches this exception , 
unwraps `FileNotFoundWrapperException` and throws `FileNotFoundException`
   - Controller API - `/segments` catches this and returns a 404 error 
   
   This ensure that no retries are performed for `FileNotFoundException`. At 
the same time, it throws this exception upto the API, allowing us to throw 
correct error code in the API response (Useful in debugging analysis)


-- 
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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to