sajjad-moradi commented on code in PR #9289:
URL: https://github.com/apache/pinot/pull/9289#discussion_r957614663


##########
pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotRealtimeTableResource.java:
##########
@@ -77,14 +77,29 @@ public Response pauseConsumption(
   @POST
   @Path("/tables/{tableName}/resumeConsumption")
   @Produces(MediaType.APPLICATION_JSON)
-  @ApiOperation(value = "Resume consumption of a realtime table",
-      notes = "Resume the consumption for a realtime table")
+  @ApiOperation(value = "Resume consumption of a realtime table", notes =
+      "Resume the consumption for a realtime table. ConsumeFrom parameter 
indicates from which offsets "
+          + "consumption should resume. If consumeFrom parameter is not 
provided or 'best' option is chosen, "
+          + "consumption continues based on the offsets in segment ZK 
metadata, and in case the offsets are already "
+          + "gone, the first available offsets are picked to minimize the data 
loss.")
   public Response resumeConsumption(
-      @ApiParam(value = "Name of the table", required = true) 
@PathParam("tableName") String tableName) {
+      @ApiParam(value = "Name of the table", required = true) 
@PathParam("tableName") String tableName,
+      @ApiParam(value = "earliest | latest | best") @QueryParam("consumeFrom") 
String consumeFrom) {
     String tableNameWithType = 
TableNameBuilder.REALTIME.tableNameWithType(tableName);
     validate(tableNameWithType);
+    String offsetCriteria;
+    if ("earliest".equalsIgnoreCase(consumeFrom)) {

Review Comment:
   This is how I see pause/resume feature. Operator pauses consumption for some 
reason. After a while, they want to resume the consumption. The default 
behavior should be to pick up the events from the offset where we left off. If 
the offset is gone, we should automatically start with the smallest available 
offset. So that's the default behavior, but if operator wants to change the 
offset for some reason like stream connection change, then consumption should 
resume based on the provided "resumeFrom" parameter. As Neha mentioned, since 
users/operators are familiar with smallest/largest offset criteria, IMO it's 
better to use the same values.



-- 
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

Reply via email to