Jackie-Jiang commented on code in PR #13837: URL: https://github.com/apache/pinot/pull/13837#discussion_r1742484129
########## pinot-connectors/pinot-flink-connector/src/main/java/org/apache/pinot/connector/flink/sink/FlinkSegmentWriter.java: ########## @@ -124,12 +135,26 @@ public void init(TableConfig tableConfig, Schema schema, Map<String, String> bat "batchConfigMaps must contain only 1 BatchConfig for table: %s", _tableNameWithType); Map<String, String> batchConfigMap = _batchIngestionConfig.getBatchConfigMaps().get(0); + batchConfigMap.put(BatchConfigProperties.UPLOADED_REALTIME_PARTITION_ID, Integer.toString(_indexOfSubtask)); + batchConfigMap.put(BatchConfigProperties.SEGMENT_UPLOAD_TIME_MS, String.valueOf(_segmentUploadTimeMs)); + batchConfigMap.computeIfAbsent( + BatchConfigProperties.SEGMENT_NAME_GENERATOR_PROP_PREFIX + "." + BatchConfigProperties.SEGMENT_NAME_PREFIX, Review Comment: I believe this writer is shared for both upsert and non-upsert table. It will be behavior change if we add `flink` prefix to non-upsert table ########## pinot-connectors/pinot-flink-connector/src/main/java/org/apache/pinot/connector/flink/sink/FlinkSegmentWriter.java: ########## @@ -124,12 +132,26 @@ public void init(TableConfig tableConfig, Schema schema, Map<String, String> bat "batchConfigMaps must contain only 1 BatchConfig for table: %s", _tableNameWithType); Map<String, String> batchConfigMap = _batchIngestionConfig.getBatchConfigMaps().get(0); + batchConfigMap.put(BatchConfigProperties.PARTITION_ID, Integer.toString(_indexOfSubtask)); + batchConfigMap.put(BatchConfigProperties.SEQUENCE_ID, Integer.toString(_seqId)); + batchConfigMap.put(BatchConfigProperties.SEGMENT_CREATION_TIME_MS, String.valueOf(_segmentCreationTimeMs)); + batchConfigMap.put( + BatchConfigProperties.SEGMENT_NAME_GENERATOR_PROP_PREFIX + "." + BatchConfigProperties.SEGMENT_NAME_PREFIX, + _segmentNamePrefix); + + // generate segment name for simple segment name generator type(non upsert tables) String segmentNamePostfixProp = String.format("%s.%s", BatchConfigProperties.SEGMENT_NAME_GENERATOR_PROP_PREFIX, BatchConfigProperties.SEGMENT_NAME_POSTFIX); String segmentSuffix = batchConfigMap.get(segmentNamePostfixProp); segmentSuffix = segmentSuffix == null ? String.valueOf(_indexOfSubtask) : segmentSuffix + "_" + _indexOfSubtask; batchConfigMap.put(segmentNamePostfixProp, segmentSuffix); + // For upsert tables must use the UploadedRealtimeSegmentName for right assignment of segments + if (_tableConfig.isUpsertEnabled()) { + batchConfigMap.put(BatchConfigProperties.SEGMENT_NAME_GENERATOR_TYPE, + BatchConfigProperties.SegmentNameGeneratorType.UPLOADED_REALTIME); Review Comment: Consider adding a check for upsert table, and add checks under that if branch -- 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