walterddr commented on a change in pull request #7921:
URL: https://github.com/apache/pinot/pull/7921#discussion_r775052071
##########
File path:
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/TableConfigUtils.java
##########
@@ -90,20 +100,34 @@ private TableConfigUtils() {
*
* TODO: Add more validations for each section (e.g. validate conditions are
met for aggregateMetrics)
*/
- public static void validate(TableConfig tableConfig, @Nullable Schema
schema) {
+ public static void validate(TableConfig tableConfig, @Nullable Schema
schema, @Nullable String typesToSkip) {
+ List<ValidationType> skipTypes = parseTypesToSkipString(typesToSkip);
if (tableConfig.getTableType() == TableType.REALTIME) {
Preconditions.checkState(schema != null, "Schema should not be null for
REALTIME table");
}
// Sanitize the table config before validation
sanitize(tableConfig);
- validateValidationConfig(tableConfig, schema);
- validateIngestionConfig(tableConfig, schema);
- validateTierConfigList(tableConfig.getTierConfigsList());
- validateIndexingConfig(tableConfig.getIndexingConfig(), schema);
- validateFieldConfigList(tableConfig.getFieldConfigList(),
tableConfig.getIndexingConfig(), schema);
- validateUpsertConfig(tableConfig, schema);
- validatePartialUpsertStrategies(tableConfig, schema);
- validateTaskConfigs(tableConfig, schema);
+ // skip all validation if skip type ALL is selected.
+ if (!skipTypes.contains(ValidationType.ALL)) {
+ validateValidationConfig(tableConfig, schema);
+ validateIngestionConfig(tableConfig, schema);
+ validateTierConfigList(tableConfig.getTierConfigsList());
+ validateIndexingConfig(tableConfig.getIndexingConfig(), schema);
+ validateFieldConfigList(tableConfig.getFieldConfigList(),
tableConfig.getIndexingConfig(), schema);
+ if (!skipTypes.contains(ValidationType.UPSERT)) {
+ validateUpsertConfig(tableConfig, schema);
+ validatePartialUpsertStrategies(tableConfig, schema);
+ }
+ if (!skipTypes.contains(ValidationType.TASK)) {
+ validateTaskConfigs(tableConfig, schema);
+ }
+ }
+ }
+
+ private static List<ValidationType> parseTypesToSkipString(String
typesToSkip) {
+ return typesToSkip == null ? Collections.emptyList() :
Arrays.stream(typesToSkip.split(","))
Review comment:
done for case correction; not sure if we need whitespace since it is
passed in via query param on URLs, usually they dont have whitespaces. will add
if needed
--
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]