This is an automated email from the ASF dual-hosted git repository.

jackie 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 16ab9c1945 Remove the old deprecated commit end without metadata 
(#11662)
16ab9c1945 is described below

commit 16ab9c1945f7ac868f88c97070c4fb4b909f6ba3
Author: Xiaotian (Jackie) Jiang <[email protected]>
AuthorDate: Sun Sep 24 17:58:39 2023 -0700

    Remove the old deprecated commit end without metadata (#11662)
---
 .../resources/LLCSegmentCompletionHandlers.java    | 71 ----------------------
 .../ServerSegmentCompletionProtocolHandler.java    | 12 ----
 2 files changed, 83 deletions(-)

diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/LLCSegmentCompletionHandlers.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/LLCSegmentCompletionHandlers.java
index 93fd7b1896..e774f91436 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/LLCSegmentCompletionHandlers.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/LLCSegmentCompletionHandlers.java
@@ -42,7 +42,6 @@ import 
org.apache.pinot.common.protocols.SegmentCompletionProtocol;
 import org.apache.pinot.common.utils.LLCSegmentName;
 import org.apache.pinot.common.utils.TarGzCompressionUtils;
 import org.apache.pinot.common.utils.URIUtils;
-import org.apache.pinot.common.utils.fetcher.SegmentFetcherFactory;
 import org.apache.pinot.controller.api.access.AccessType;
 import org.apache.pinot.controller.api.access.Authenticate;
 import 
org.apache.pinot.controller.helix.core.realtime.SegmentCompletionManager;
@@ -214,57 +213,6 @@ public class LLCSegmentCompletionHandlers {
     return responseStr;
   }
 
-  // TODO: remove this API. Should not allow committing without metadata
-  @GET
-  @Path(SegmentCompletionProtocol.MSG_TYPE_COMMIT_END)
-  @Authorize(targetType = TargetType.CLUSTER, action = 
Actions.Cluster.GET_ADMIN_INFO)
-  @Produces(MediaType.APPLICATION_JSON)
-  public String 
segmentCommitEnd(@QueryParam(SegmentCompletionProtocol.PARAM_INSTANCE_ID) 
String instanceId,
-      @QueryParam(SegmentCompletionProtocol.PARAM_SEGMENT_NAME) String 
segmentName,
-      @QueryParam(SegmentCompletionProtocol.PARAM_SEGMENT_LOCATION) String 
segmentLocation,
-      @QueryParam(SegmentCompletionProtocol.PARAM_OFFSET) long offset,
-      @QueryParam(SegmentCompletionProtocol.PARAM_STREAM_PARTITION_MSG_OFFSET) 
String streamPartitionMsgOffset,
-      @QueryParam(SegmentCompletionProtocol.PARAM_MEMORY_USED_BYTES) long 
memoryUsedBytes,
-      @QueryParam(SegmentCompletionProtocol.PARAM_BUILD_TIME_MILLIS) long 
buildTimeMillis,
-      @QueryParam(SegmentCompletionProtocol.PARAM_WAIT_TIME_MILLIS) long 
waitTimeMillis,
-      @QueryParam(SegmentCompletionProtocol.PARAM_ROW_COUNT) int numRows,
-      @QueryParam(SegmentCompletionProtocol.PARAM_SEGMENT_SIZE_BYTES) long 
segmentSizeBytes) {
-    if (instanceId == null || segmentName == null || segmentLocation == null 
|| (offset == -1
-        && streamPartitionMsgOffset == null)) {
-      LOGGER.error(
-          "Invalid call: offset={}, segmentName={}, instanceId={}, 
segmentLocation={}, streamPartitionMsgOffset={}",
-          offset, segmentName, instanceId, segmentLocation, 
streamPartitionMsgOffset);
-      // TODO: memoryUsedInBytes = 0 if not present in params. Add validation 
when we start using it
-      return SegmentCompletionProtocol.RESP_FAILED.toJsonString();
-    }
-
-    SegmentMetadataImpl segmentMetadata;
-    try {
-      segmentMetadata = extractMetadataFromSegmentFileURI(new 
URI(segmentLocation), segmentName);
-    } catch (Exception e) {
-      LOGGER.error("Caught exception while extracting metadata from segment: 
{} at location: {} from instance: {}",
-          segmentName, segmentLocation, instanceId, e);
-      return SegmentCompletionProtocol.RESP_FAILED.toJsonString();
-    }
-    SegmentCompletionProtocol.Request.Params requestParams = new 
SegmentCompletionProtocol.Request.Params();
-    
requestParams.withInstanceId(instanceId).withSegmentName(segmentName).withSegmentLocation(segmentLocation)
-        
.withSegmentSizeBytes(segmentSizeBytes).withBuildTimeMillis(buildTimeMillis).withWaitTimeMillis(waitTimeMillis)
-        .withNumRows(numRows).withMemoryUsedBytes(memoryUsedBytes);
-    extractOffsetFromParams(requestParams, streamPartitionMsgOffset, offset);
-    LOGGER.info("Processing segmentCommitEnd:{}", requestParams.toString());
-
-    final boolean isSuccess = true;
-    final boolean isSplitCommit = true;
-
-    CommittingSegmentDescriptor committingSegmentDescriptor =
-        
CommittingSegmentDescriptor.fromSegmentCompletionReqParamsAndMetadata(requestParams,
 segmentMetadata);
-    SegmentCompletionProtocol.Response response = _segmentCompletionManager
-        .segmentCommitEnd(requestParams, isSuccess, isSplitCommit, 
committingSegmentDescriptor);
-    final String responseStr = response.toJsonString();
-    LOGGER.info("Response to segmentCommitEnd for segment:{} is:{}", 
segmentName, responseStr);
-    return responseStr;
-  }
-
   @POST
   @Path(SegmentCompletionProtocol.MSG_TYPE_COMMIT)
   @Authorize(targetType = TargetType.CLUSTER, action = 
Actions.Cluster.COMMIT_SEGMENT)
@@ -542,25 +490,6 @@ public class LLCSegmentCompletionHandlers {
     }
   }
 
-  /**
-   * Extracts the segment metadata from the segment file URI (could be 
remote). Copy the segment file to local under
-   * file upload temporary directory first, then use the untarred file 
temporary directory to store the metadata files
-   * temporarily.
-   */
-  private static SegmentMetadataImpl extractMetadataFromSegmentFileURI(URI 
segmentFileURI, String segmentName)
-      throws Exception {
-    File localTempFile = 
org.apache.pinot.common.utils.FileUtils.concatAndValidateFile(
-        ControllerFilePathProvider.getInstance().getFileUploadTempDir(), 
getTempSegmentFileName(segmentName),
-        "Invalid segment name: %s", segmentName);
-
-    try {
-      SegmentFetcherFactory.fetchSegmentToLocal(segmentFileURI, localTempFile);
-      return extractMetadataFromLocalSegmentFile(localTempFile);
-    } finally {
-      FileUtils.deleteQuietly(localTempFile);
-    }
-  }
-
   private static String getTempSegmentFileName(String segmentName) {
     return segmentName + "." + UUID.randomUUID();
   }
diff --git 
a/pinot-core/src/main/java/org/apache/pinot/server/realtime/ServerSegmentCompletionProtocolHandler.java
 
b/pinot-core/src/main/java/org/apache/pinot/server/realtime/ServerSegmentCompletionProtocolHandler.java
index 03227f2920..6e1e24a688 100644
--- 
a/pinot-core/src/main/java/org/apache/pinot/server/realtime/ServerSegmentCompletionProtocolHandler.java
+++ 
b/pinot-core/src/main/java/org/apache/pinot/server/realtime/ServerSegmentCompletionProtocolHandler.java
@@ -128,18 +128,6 @@ public class ServerSegmentCompletionProtocolHandler {
     return request.getUrl(hostPort, protocol);
   }
 
-  // Replaced by segmentCommitEndWithMetadata().
-  @Deprecated
-  public SegmentCompletionProtocol.Response 
segmentCommitEnd(SegmentCompletionProtocol.Request.Params params) {
-    SegmentCompletionProtocol.SegmentCommitEndRequest request =
-        new SegmentCompletionProtocol.SegmentCommitEndRequest(params);
-    String url = createSegmentCompletionUrl(request);
-    if (url == null) {
-      return SegmentCompletionProtocol.RESP_NOT_SENT;
-    }
-    return sendRequest(url);
-  }
-
   public SegmentCompletionProtocol.Response segmentCommitEndWithMetadata(
       SegmentCompletionProtocol.Request.Params params, final Map<String, File> 
metadataFiles) {
     SegmentCompletionProtocol.SegmentCommitEndWithMetadataRequest request =


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to