klsince commented on code in PR #15296: URL: https://github.com/apache/pinot/pull/15296#discussion_r1999305231
########## pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/RealtimeSegmentDataManager.java: ########## @@ -1723,6 +1725,15 @@ public RealtimeSegmentDataManager(SegmentZKMetadata segmentZKMetadata, TableConf } } + // Consumption while building the segment is not allowed for the following tables: + // 1. Partial Upserts Review Comment: For full upsert, other than that all records are appended to the table, the records with same PK use comparison columns to decide the record that's valid to queries and mark all others as invalid with the validDocIds bitmaps, so the order of record ingestion does not matter for data correctness. For partial upsert, partial record is merged with prev record, so ingestion order matters across replicas for data consistency. For dedup, there is no validDocIds bitmaps to invalidate ingested records, so slow replicas need to wait for committed segments to be downloaded&replaced to get dedup metadata up to date, before starting new ingestion. -- 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