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