diff --git a/pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/SegmentColumnarIndexCreator.java b/pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/SegmentColumnarIndexCreator.java index 4489dc82ea6..e3fda098f9f 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/SegmentColumnarIndexCreator.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/segment/creator/impl/SegmentColumnarIndexCreator.java @@ -78,6 +78,9 @@ public class SegmentColumnarIndexCreator implements SegmentCreator { // TODO Refactor class name to match interface name private static final Logger LOGGER = LoggerFactory.getLogger(SegmentColumnarIndexCreator.class); + // Allow at most 512 characters for the metadata property + private static final int METADATA_PROPERTY_LENGTH_LIMIT = 512; + private SegmentGeneratorConfig config; private Map indexCreationInfoMap; private Map _dictionaryCreatorMap = new HashMap<>(); @@ -562,6 +565,7 @@ public static void addColumnMinMaxValueInfo(PropertiesConfiguration properties, * Helper method to check whether the given value is a valid property value. *

Value is invalid iff: *

@@ -572,6 +576,9 @@ static boolean isValidPropertyValue(String value) { if (length == 0) { return true; } + if (length > METADATA_PROPERTY_LENGTH_LIMIT) { + return false; + } if (Character.isWhitespace(value.charAt(0)) || Character.isWhitespace(value.charAt(length - 1))) { return false; }