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: [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]