This is an automated email from the ASF dual-hosted git repository.
snlee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 8022c792f1 Prevent appending http headers when uploadSegmentMetadata
is called in a loop (#10102)
8022c792f1 is described below
commit 8022c792f10c997335f510f1eea426ffc27468b5
Author: Ragesh Rajagopalan <[email protected]>
AuthorDate: Tue Jan 10 20:30:37 2023 -0800
Prevent appending http headers when uploadSegmentMetadata is called in a
loop (#10102)
---
.../org/apache/pinot/segment/local/utils/SegmentPushUtils.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/SegmentPushUtils.java
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/SegmentPushUtils.java
index 207227a0be..b2ed31821c 100644
---
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/SegmentPushUtils.java
+++
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/SegmentPushUtils.java
@@ -28,6 +28,7 @@ import java.net.URLDecoder;
import java.nio.file.FileSystems;
import java.nio.file.PathMatcher;
import java.nio.file.Paths;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -319,18 +320,19 @@ public class SegmentPushUtils implements Serializable {
retryWaitMs = spec.getPushJobSpec().getPushRetryIntervalMillis();
}
RetryPolicies.exponentialBackoffRetryPolicy(attempts, retryWaitMs,
5).attempt(() -> {
+ List<Header> reqHttpHeaders = new ArrayList<>(headers);
try {
- headers.add(new
BasicHeader(FileUploadDownloadClient.CustomHeaders.DOWNLOAD_URI,
segmentUriPath));
- headers.add(new
BasicHeader(FileUploadDownloadClient.CustomHeaders.UPLOAD_TYPE,
+ reqHttpHeaders.add(new
BasicHeader(FileUploadDownloadClient.CustomHeaders.DOWNLOAD_URI,
segmentUriPath));
+ reqHttpHeaders.add(new
BasicHeader(FileUploadDownloadClient.CustomHeaders.UPLOAD_TYPE,
FileUploadDownloadClient.FileUploadType.METADATA.toString()));
if (spec.getPushJobSpec() != null) {
- headers.add(new
BasicHeader(FileUploadDownloadClient.CustomHeaders.COPY_SEGMENT_TO_DEEP_STORE,
+ reqHttpHeaders.add(new
BasicHeader(FileUploadDownloadClient.CustomHeaders.COPY_SEGMENT_TO_DEEP_STORE,
String.valueOf(spec.getPushJobSpec().getCopyToDeepStoreForMetadataPush())));
}
SimpleHttpResponse response =
FILE_UPLOAD_DOWNLOAD_CLIENT.uploadSegmentMetadata(
FileUploadDownloadClient.getUploadSegmentURI(controllerURI),
segmentName,
- segmentMetadataFile, headers, parameters,
HttpClient.DEFAULT_SOCKET_TIMEOUT_MS);
+ segmentMetadataFile, reqHttpHeaders, parameters,
HttpClient.DEFAULT_SOCKET_TIMEOUT_MS);
LOGGER.info("Response for pushing table {} segment {} to
location {} - {}: {}", tableName, segmentName,
controllerURI, response.getStatusCode(),
response.getResponse());
return true;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]