klsince commented on code in PR #13107: URL: https://github.com/apache/pinot/pull/13107#discussion_r1602319612
########## pinot-common/src/main/java/org/apache/pinot/common/metadata/segment/SegmentPartitionMetadata.java: ########## @@ -48,6 +53,21 @@ public SegmentPartitionMetadata( @Nonnull @JsonProperty("columnPartitionMap") Map<String, ColumnPartitionMetadata> columnPartitionMap) { Preconditions.checkNotNull(columnPartitionMap); _columnPartitionMap = columnPartitionMap; + _uploadedSegmentPartitionId = -1; + } + + /** + * Constructor for the class. + * + * @param columnPartitionMap Column name to ColumnPartitionMetadata map. + */ + @JsonCreator + public SegmentPartitionMetadata( + @Nullable @JsonProperty("columnPartitionMap") Map<String, ColumnPartitionMetadata> columnPartitionMap, + @Nullable @JsonProperty(value = "uploadedSegmentPartitionId", defaultValue = "-1") Review Comment: I might have missed it, but how to configure `SegmentPartitionConfig` in TableConfig for tables that allow to upload segments built and partitioned externally? and segments might be partitioned on multi-columns with hash functions not supported by Pinot? For such table, will all of its segments get uploaded after being built/partitioned externally, or a mix of segments from Realtime ingestion and segments being built externally? ~~Another place that might be broken with this new field `uploadedSegmentPartitionId` is in MergeRollupTaskGenerator around L430.~~ (nvm MergeRollup skips RealTime tables) -- 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