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


##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/TableConfigUtils.java:
##########
@@ -622,20 +608,6 @@ static void validateIngestionConfig(TableConfig 
tableConfig, Schema schema,
         } else {
           LOGGER.warn("It's not recommended to create pauseless tables with 
replication 1 for stability reasons.");
         }

Review Comment:
   This re-allows the hazard the removed comment described. Each replica 
derives `_consumeEndTime` from its own clock 
(`RealtimeSegmentDataManager#setConsumeEndTime`), and a replica past the 
committed end offset can only download 
(`RealtimeSegmentDataManager.java:1840`). Could the PR description say why 
that's acceptable now (e.g., a server-side fix or a planned follow-up)? The 6h 
default still carries the same exposure either way.



##########
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/TableConfigUtils.java:
##########
@@ -528,26 +527,13 @@ private static boolean isValidPeerDownloadScheme(String 
peerSegmentDownloadSchem
         || 
CommonConstants.HTTPS_PROTOCOL.equalsIgnoreCase(peerSegmentDownloadScheme);
   }
 
-  /// Returns whether the stored table config is already pauseless and sets 
`key` to `value` in one of its stream
-  /// configs. This value stays valid, so that updates to an existing table 
and to its schema keep working.
-  private static boolean hasSamePauselessTimeFlushThreshold(@Nullable 
TableConfig existingTableConfig, String key,
-      String value) {
-    if (existingTableConfig == null || 
!PauselessConsumptionUtils.isPauselessEnabled(existingTableConfig)) {
-      return false;
-    }
-    // Pauseless consumption is enabled in the stream ingestion config, so the 
ingestion config is not null
-    return 
existingTableConfig.getIngestionConfig().getStreamIngestionConfig().getStreamConfigMaps().stream()
-        .anyMatch(streamConfigMap -> value.equals(streamConfigMap.get(key)));
-  }
-
   /// Validates the table's [IngestionConfig] together with the closely 
related metrics-aggregation config, covering:
   /// - Metrics aggregation (both the `aggregateMetrics` flag and ingestion 
`aggregationConfigs`), delegated to
   ///   [#validateMetricsAggregation].
   /// - Batch ingestion: each batch config map is well-formed, and a dimension 
table has batch ingestion configured
   ///   with `REFRESH` segment ingestion type.
   /// - Stream ingestion: streams are declared in only one place, at least one 
stream is present, and pauseless
-  ///   consumption has a valid `peerSegmentDownloadScheme` and no time flush 
threshold, except the unchanged value of
-  ///   a stored pauseless table.
+  ///   consumption has a valid `peerSegmentDownloadScheme`.

Review Comment:
   The Javadoc is correctly restored. Note that pinot-contrib/pinot-docs#1170 
(merged) added the rejection to `operate-pinot/pauseless-consumption.md`. 
Please revert that docs change too, or the guide will say these configs are 
rejected.



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