xiangfu0 commented on code in PR #18001:
URL: https://github.com/apache/pinot/pull/18001#discussion_r3003426136


##########
pinot-controller/src/main/java/org/apache/pinot/controller/ControllerConf.java:
##########
@@ -761,27 +715,25 @@ public void 
setRealtimeOffsetAutoResetBackfillFrequencyInSeconds(int offsetAutoR
   }

Review Comment:
   Good catch. Fixed `setRealtimeOffsetAutoResetBackfillFrequencyInSeconds()` 
to append `"s"` suffix so it writes a valid period string. See commit 1f1d5df.



##########
pinot-controller/src/main/java/org/apache/pinot/controller/ControllerConf.java:
##########
@@ -831,7 +784,7 @@ public long 
getTenantRebalanceCheckerInitialDelayInSeconds() {
   public int getRealtimeConsumerMonitorRunFrequency() {
     return 
Optional.ofNullable(getProperty(ControllerPeriodicTasksConf.RT_CONSUMER_MONITOR_FREQUENCY_PERIOD))
         .map(period -> (int) convertPeriodToSeconds(period))
-        
.orElse(ControllerPeriodicTasksConf.DEFAULT_RT_CONSUMER_MONITOR_FREQUENCY_IN_SECONDS);
+        .orElse((int) 
convertPeriodToSeconds(ControllerPeriodicTasksConf.DEFAULT_RT_CONSUMER_MONITOR_FREQUENCY_PERIOD));

Review Comment:
   Done. Added the missing `DEFAULT_RT_CONSUMER_MONITOR_FREQUENCY_PERIOD = 
"-1s"` constant (disabled by default). See commit 1f1d5df.



##########
pinot-controller/src/main/java/org/apache/pinot/controller/ControllerConf.java:
##########
@@ -687,72 +640,73 @@ public int getRetentionControllerFrequencyInSeconds() {
     return 
Optional.ofNullable(getProperty(ControllerPeriodicTasksConf.RETENTION_MANAGER_FREQUENCY_PERIOD))
         .filter(period -> isValidPeriodWithLogging(
             ControllerPeriodicTasksConf.RETENTION_MANAGER_FREQUENCY_PERIOD, 
period))
-        .map(period -> (int) convertPeriodToSeconds(period)).orElseGet(
-            () -> 
getProperty(ControllerPeriodicTasksConf.DEPRECATED_RETENTION_MANAGER_FREQUENCY_IN_SECONDS,
-                
ControllerPeriodicTasksConf.DEFAULT_RETENTION_MANAGER_FREQUENCY_IN_SECONDS));
+        .map(period -> (int) convertPeriodToSeconds(period))
+        .orElse((int) 
convertPeriodToSeconds(ControllerPeriodicTasksConf.DEFAULT_RETENTION_MANAGER_FREQUENCY_PERIOD));
   }
 
   public void setRetentionControllerFrequencyInSeconds(int 
retentionFrequencyInSeconds) {
-    
setProperty(ControllerPeriodicTasksConf.DEPRECATED_RETENTION_MANAGER_FREQUENCY_IN_SECONDS,
-        Integer.toString(retentionFrequencyInSeconds));
+    setProperty(ControllerPeriodicTasksConf.RETENTION_MANAGER_FREQUENCY_PERIOD,
+        Long.toString(retentionFrequencyInSeconds) + "s");
   }
 
   /**
-   * Returns 
<code>controller.offline.segment.interval.checker.frequencyPeriod</code>, or
-   * <code>controller.offline.segment.interval.checker.frequencyPeriod</code> 
or the segment level
-   * validation interval, in the order of decreasing preference from left to 
right. Falls-back to
-   * the next config only if the current config is missing. This is done in 
order to retain the
-   * current behavior, wherein the offline validation tasks were done at 
segment level validation
-   * interval frequency The default value is the new 
DEFAULT_OFFLINE_SEGMENT_INTERVAL_CHECKER_FREQUENCY_IN_SECONDS
+   * Returns the offline segment interval checker frequency in seconds.
+   * Reads {@code controller.offline.segment.interval.checker.frequencyPeriod} 
as a period string (e.g. "24h"),
+   * falling back to {@code 
DEFAULT_OFFLINE_SEGMENT_INTERVAL_CHECKER_FREQUENCY_PERIOD} if absent or invalid.
    *
-   * @return the supplied config in seconds
+   * @return the configured frequency in seconds
    */
   public int getOfflineSegmentIntervalCheckerFrequencyInSeconds() {
     return Optional.ofNullable(
             
getProperty(ControllerPeriodicTasksConf.OFFLINE_SEGMENT_INTERVAL_CHECKER_FREQUENCY_PERIOD))
         .filter(period -> isValidPeriodWithLogging(
             
ControllerPeriodicTasksConf.OFFLINE_SEGMENT_INTERVAL_CHECKER_FREQUENCY_PERIOD, 
period))
-        .map(period -> (int) convertPeriodToSeconds(period)).orElseGet(() -> 
getProperty(
-            
ControllerPeriodicTasksConf.DEPRECATED_OFFLINE_SEGMENT_INTERVAL_CHECKER_FREQUENCY_IN_SECONDS,
-            
ControllerPeriodicTasksConf.DEFAULT_OFFLINE_SEGMENT_INTERVAL_CHECKER_FREQUENCY_IN_SECONDS));
+        .map(period -> (int) convertPeriodToSeconds(period))
+        .orElse(
+        (int) convertPeriodToSeconds(
+            
ControllerPeriodicTasksConf.DEFAULT_OFFLINE_SEGMENT_INTERVAL_CHECKER_FREQUENCY_PERIOD));

Review Comment:
   Done. Simplified all getters to use `getProperty(key, default)` pattern 
instead of Optional chains. The period default is now passed directly as the 
default value. See commit 1f1d5df.



##########
pinot-controller/src/test/java/org/apache/pinot/controller/ControllerConfTest.java:
##########
@@ -292,6 +198,16 @@ private String getRandomString() {
     return RandomStringUtils.randomAlphanumeric(5);
   }

Review Comment:
   Done. Removed dead `getRandomString()` and `getRandomDurationInSeconds()` 
methods, and the unused `RandomStringUtils` import. See commit 1f1d5df.



##########
pinot-controller/src/main/java/org/apache/pinot/controller/ControllerConf.java:
##########
@@ -687,63 +640,54 @@ public int getRetentionControllerFrequencyInSeconds() {
     return 
Optional.ofNullable(getProperty(ControllerPeriodicTasksConf.RETENTION_MANAGER_FREQUENCY_PERIOD))
         .filter(period -> isValidPeriodWithLogging(
             ControllerPeriodicTasksConf.RETENTION_MANAGER_FREQUENCY_PERIOD, 
period))
-        .map(period -> (int) convertPeriodToSeconds(period)).orElseGet(
-            () -> 
getProperty(ControllerPeriodicTasksConf.DEPRECATED_RETENTION_MANAGER_FREQUENCY_IN_SECONDS,
-                
ControllerPeriodicTasksConf.DEFAULT_RETENTION_MANAGER_FREQUENCY_IN_SECONDS));
+        .map(period -> (int) convertPeriodToSeconds(period))
+        
.orElse(ControllerPeriodicTasksConf.DEFAULT_RETENTION_MANAGER_FREQUENCY_IN_SECONDS);

Review Comment:
   Done. Converted all `DEFAULT_*_IN_SECONDS` int constants to 
`DEFAULT_*_PERIOD` string constants (e.g. `"6h"`, `"1h"`, `"-1s"`). See commit 
8ffa003.



##########
pinot-controller/src/main/java/org/apache/pinot/controller/ControllerConf.java:
##########
@@ -687,14 +640,13 @@ public int getRetentionControllerFrequencyInSeconds() {
     return 
Optional.ofNullable(getProperty(ControllerPeriodicTasksConf.RETENTION_MANAGER_FREQUENCY_PERIOD))
         .filter(period -> isValidPeriodWithLogging(
             ControllerPeriodicTasksConf.RETENTION_MANAGER_FREQUENCY_PERIOD, 
period))
-        .map(period -> (int) convertPeriodToSeconds(period)).orElseGet(
-            () -> 
getProperty(ControllerPeriodicTasksConf.DEPRECATED_RETENTION_MANAGER_FREQUENCY_IN_SECONDS,
-                
ControllerPeriodicTasksConf.DEFAULT_RETENTION_MANAGER_FREQUENCY_IN_SECONDS));
+        .map(period -> (int) convertPeriodToSeconds(period))
+        
.orElse(ControllerPeriodicTasksConf.DEFAULT_RETENTION_MANAGER_FREQUENCY_IN_SECONDS);

Review Comment:
   Done. Added `invalidFrequencyPeriodShouldFallBackToDefault()` test in 
ControllerConfTest that verifies invalid period values fall back to the 
documented default. See commit 21973a2.



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

Reply via email to