Anshu Roy
09/23/2025, 11:22 AMreq_lost_metadata_push_OFFLINE_2025-07-15_2025-07-15_0_3cf9cf26-a02a-4ac8-815a-1d1f2337bc12 and req_lost_metadata_push_OFFLINE_2025-07-15_2025-07-15_302_6a2eba3e-f266-4f6a-8735-24345cb795aa.Anshu Roy
09/23/2025, 11:23 AM"task": {
"taskTypeConfigsMap": {
"SegmentGenerationAndPushTask": {
"schedule": "0 0 2 * * ?",
"inputDirURI": "<s3://data-pinot-dev/pinot/input/>",
"includeFileNamePattern": "glob:**/databackfill",
"excludeFileNamePattern": "glob:**/_*",
"inputFormat": "parquet",
"push.mode": "TAR",
"input.fs.className": "org.apache.pinot.plugin.filesystem.S3PinotFS",
"input.fs.prop.region": "ap-southeast-1",
"segmentNameGenerator.type": "normalizedDate",
"segment.name.prefix": "req_lost_metadata_push",
"exclude.sequence.id": true,
"append.uuid.to.segment.name": false,
"use.global.directory.sequence.id": false
}
}
}Mayank
Shounak Kulkarni
09/23/2025, 1:05 PMMayank
Shounak Kulkarni
09/23/2025, 1:39 PMbatchConfigMaps and not taskTypeConfigsMap
"exclude.sequence.id": "true",
"append.uuid.to.segment.name": "false",
"use.global.directory.sequence.id": "false"Shounak Kulkarni
09/23/2025, 1:45 PM"task": {
"taskTypeConfigsMap": {
"SegmentGenerationAndPushTask": {
"schedule": "0 0 2 * * ?"
}
}
}
an put all the configs under batch configs
"batchIngestionConfig": {
"batchConfigMaps": [
{
"inputDirURI": "<s3://data-pinot-dev/pinot/input/>",
"outputDirURI": "<s3://data-pinot-dev/pinot/segments/>",
"includeFileNamePattern": "glob:**/databackfill",
"excludeFileNamePattern": "glob:**/_*",
"inputFormat": "parquet",
"push.mode": "METADATA",
"recordReader.className": "org.apache.pinot.plugin.inputformat.parquet.ParquetRecordReader",
"input.fs.className": "org.apache.pinot.plugin.filesystem.S3PinotFS",
"input.fs.prop.region": "ap-south-1",
"segmentNameGenerator.type": "normalizedDate",
"segment.name.prefix": "req_lost_metadata_push",
"append.uuid.to.segment.name": "false"
}
],
"segmentIngestionType": "APPEND",
"segmentIngestionFrequency": "DAILY",
"consistentDataPush": false
}Anshu Roy
09/23/2025, 6:31 PMAnshu Roy
09/24/2025, 9:54 AM{
"OFFLINE": {
"tableName": "req_lost_tar_push_OFFLINE",
"tableType": "OFFLINE",
"segmentsConfig": {
"schemaName": "req_lost_tar_push",
"replication": "1",
"timeType": "DAYS",
"timeColumnName": "DT",
"minimizeDataMovement": false
},
"tenants": {
"broker": "DefaultTenant",
"server": "DefaultTenant"
},
"tableIndexConfig": {
"invertedIndexColumns": [
"CITY",
"CATEGORY",
"SUPERCATEGORY",
"CLUSTER",
"COUNTRY"
],
"aggregateMetrics": false,
"starTreeIndexConfigs": [
{
"dimensionsSplitOrder": [
"COUNTRY",
"CLUSTER",
"SUPERCATEGORY",
"CATEGORY",
"CITY",
"DT"
],
"functionColumnPairs": [
"SUM__SERVICEABLE_REQUEST_LOST",
"SUM__GROSS_REQUEST_COUNT"
],
"maxLeafRecords": 1000
}
],
"enableDefaultStarTree": false,
"nullHandlingEnabled": false,
"rangeIndexColumns": [
"DT"
],
"rangeIndexVersion": 2
},
"task": {
"taskTypeConfigsMap": {
"SegmentGenerationAndPushTask": {
"schedule": "0 0 2 * * ?"
}
}
},
"ingestionConfig": {
"batchIngestionConfig": {
"batchConfigMaps": [
{
"inputDirURI": "<s3://data-pinot-dev/pinot/input/req_lost_metadata_push2_OFFLINE/>",
"includeFileNamePattern": "glob:**/*data",
"excludeFileNamePattern": "glob:**/_*",
"inputFormat": "parquet",
"push.mode": "TAR",
"recordReader.className": "org.apache.pinot.plugin.inputformat.parquet.ParquetRecordReader",
"input.fs.className": "org.apache.pinot.plugin.filesystem.S3PinotFS",
"input.fs.prop.region": "ap-southeast-1",
"segmentNameGenerator.type": "normalizedDate",
"segment.name.prefix": "req_lost_tar_push",
"exclude.sequence.id": "true",
"append.uuid.to.segment.name": "false"
}
],
"segmentIngestionType": "APPEND",
"segmentIngestionFrequency": "DAILY",
"consistentDataPush": false
},
"continueOnError": false,
"rowTimeValueCheck": false,
"segmentTimeValueCheck": true
},
"isDimTable": false
}
}Anshu Roy
09/24/2025, 9:55 AMExecuting SegmentGenerationAndPushTask with task config: Task Type: SegmentGenerationAndPushTask, Configs: {segment.name.prefix=req_lost_tar_push, <http://append.uuid.to|append.uuid.to>.segment.name=true, segmentNameGenerator.type=normalizedDate, inputDirURI=s3:
append.uuid.to.segment.name -- This config is not being pickedAnshu Roy
09/24/2025, 9:57 AMreq_lost_tar_push_OFFLINE_2025-08-16_2025-08-16_0_caeec64f-a823-4cba-b0ee-7af9bf7c1428
req_lost_tar_push_OFFLINE_2025-08-16_2025-08-16_334_4ac37f61-8fe1-4146-b5db-f8c33a7c82eaAnshu Roy
09/24/2025, 10:28 AMAnshu Roy
09/24/2025, 11:43 AMShounak Kulkarni
09/24/2025, 1:11 PMAnshu Roy
09/24/2025, 1:45 PMShounak Kulkarni
09/24/2025, 1:49 PMAnshu Roy
09/24/2025, 1:50 PMShounak Kulkarni
09/24/2025, 2:08 PMstartReplaceSegments and endReplaceSegments endpoints ref (which consistent push uses underneath) and have segments generation and push outside minion if the backfill is not a frequent operation.Anshu Roy
09/24/2025, 2:43 PMAnshu Roy
09/24/2025, 2:45 PMShounak Kulkarni
09/24/2025, 3:01 PMREFRESH table, but I am not sure if that works out of the box with the minion task as well. BTW what's the table size/number of segments?Anshu Roy
09/24/2025, 3:18 PMShounak Kulkarni
09/24/2025, 3:19 PMREFRESH table and use consistent push https://docs.pinot.apache.org/operators/operating-pinot/consistent-push-and-rollbackAnshu Roy
09/24/2025, 3:22 PMShounak Kulkarni
09/24/2025, 3:39 PMAnshu Roy
09/25/2025, 11:30 AM"segmentNameGenerator.type": "normalizedDate",
"segment.name.prefix": "req_lost_tar_push",
"exclude.sequence.id": "true",
"append.uuid.to.segment.name": "false"
and uuid wont be added here , and same name segments would be replaced?Shounak Kulkarni
09/25/2025, 12:06 PMShounak Kulkarni
09/25/2025, 12:09 PMsegmentIngestionType is REFRESH and consistentDataPush is trueAnshu Roy
09/25/2025, 12:11 PMShounak Kulkarni
09/25/2025, 12:20 PMIf i want an append table, because there are tables which have Gbs of data.Are you changing subset of data for these tables or eveything like the above table?
Anshu Roy
09/25/2025, 12:23 PMActually we have to replace segments daily , our data source builds data for last 3 days. So last 1 day data is fresh and for other 2 days we will have to replace.We need to change subset of data.
Anshu Roy
09/25/2025, 12:26 PMAnshu Roy
09/25/2025, 12:28 PMShounak Kulkarni
09/25/2025, 12:38 PMSparkSegmentMetadataPushJobRunner handles the consistent push as well.
> is this possible
Yes it should honour the provided configs for standalone run
tldr : Use consistent push if you are generating/replacing all segments on a table to ensure query consistency. Use standalone run to replace subset of segments as minion task force includes uuid.Anshu Roy
09/25/2025, 12:43 PMAnshu Roy
09/25/2025, 12:45 PMSparkSegmentMetadataPushJobRunner ?Shounak Kulkarni
09/25/2025, 12:47 PMShounak Kulkarni
09/25/2025, 12:48 PMShounak Kulkarni
09/25/2025, 12:49 PMAnshu Roy
09/25/2025, 12:51 PMSparkSegmentMetadataPushJobRunner handles the consistent push as well -- any explicit config which needs to added for this ? as the doc does not have thisShounak Kulkarni
09/25/2025, 12:53 PM"consistentDataPush" : "true" in batch ingestion configAnshu Roy
09/25/2025, 12:53 PMShounak Kulkarni
09/25/2025, 12:57 PM