liuchang0520 commented on a change in pull request #6778: URL: https://github.com/apache/pinot/pull/6778#discussion_r705706456
########## File path: pinot-common/src/main/java/org/apache/pinot/common/utils/FileUploadDownloadClient.java ########## @@ -796,6 +796,33 @@ public SimpleHttpResponse uploadSegment(URI uri, String segmentName, InputStream return uploadSegment(uri, segmentName, inputStream, null, parameters, DEFAULT_SOCKET_TIMEOUT_MS); } + /** + * Used by controllers to send requests to servers: + * Controller periodic task uses this endpoint to ask servers + * to upload committed llc segment to segment store if missing. + * @param uri The uri to ask servers to upload segment to segment store + * @return the uploaded segment download url from segment store + * @throws URISyntaxException + * @throws IOException + * @throws HttpErrorStatusException + */ + public String uploadToSegmentStore(String uri) + throws URISyntaxException, IOException, HttpErrorStatusException { + RequestBuilder requestBuilder = RequestBuilder.post(new URI(uri)).setVersion(HttpVersion.HTTP_1_1); + setTimeout(requestBuilder, DEFAULT_SOCKET_TIMEOUT_MS); + // sendRequest checks the response status code + SimpleHttpResponse response = sendRequest(requestBuilder.build()); + String downloadUrl = response.getResponse(); + if (downloadUrl.isEmpty()) { + throw new HttpErrorStatusException( + String.format( + "Returned segment download url is empty after requesting servers to upload by the path: %s", + uri), Review comment: Yes, it includes the segment name. -- 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