Jackie-Jiang commented on code in PR #16079: URL: https://github.com/apache/pinot/pull/16079#discussion_r2141147412
########## pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/SchemaUtils.java: ########## @@ -147,6 +147,9 @@ public static void validate(Schema schema, boolean isIgnoreCase) { .equals(FieldSpec.DataType.DOUBLE)) { validateDefaultIsNotNaN(fieldSpec); } + if (!fieldSpec.isSingleValueField()) { Review Comment: Not introduced in this PR, but we should probably not skip the check for virtual columns ########## pinot-segment-local/src/main/java/org/apache/pinot/segment/local/utils/TableConfigUtils.java: ########## @@ -714,6 +714,12 @@ static void validateUpsertAndDedupConfig(TableConfig tableConfig, Schema schema) // primary key exists Preconditions.checkState(CollectionUtils.isNotEmpty(schema.getPrimaryKeyColumns()), "Upsert/Dedup table must have primary key columns in the schema"); + // primary key columns are not of multi-value type + for (String primaryKeyColumn : schema.getPrimaryKeyColumns()) { + FieldSpec fieldSpec = schema.getFieldSpecFor(primaryKeyColumn); + Preconditions.checkState(fieldSpec.isSingleValueField(), Review Comment: Do we need a null check here? -- 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