piby
04/30/2026, 3:06 PMWhen multistage is enabled
query > SELECT * FROM my_table LIMIT 10;
useMultiStage=true
usePhysicalOptimizer=true
DatabaseError: {'errorCode': 150,
'message': 'SQLParsingError: Error composing query plan: No enum constant '
'org.apache.pinot.spi.config.table.TableType.my_table. No '
'enum constant '
'org.apache.pinot.spi.config.table.TableType.my_table'}
useMultistageEngine=false
usePhysicalOptimizer=false
DatabaseError: {'errorCode': 305,
'message': '3 segments unavailable '
'[my_table__2__3373__20260430T0524Z, '
'my_table__2__3380__20260430T1225Z, '
'my_table__2__3180__20260422T0357Z, '], with routing policy: '
'balanced [realtime], balanced [offline]'}Johan Adami
04/30/2026, 3:13 PMpiby
04/30/2026, 3:18 PM{
"REALTIME": {
"tableName": "my_table_REALTIME",
"tableType": "REALTIME",
"segmentsConfig": {
"replication": "3",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "15",
"timeType": "MILLISECONDS",
"replicasPerPartition": "1",
"timeColumnName": "mytimecolumn",
"segmentPushType": "APPEND",
"segmentAssignmentStrategy": "BalanceNumSegmentAssignmentStrategy",
"minimizeDataMovement": false
},
"tenants": {
"broker": "DefaultTenant",
"server": "DefaultTenant"
},
"tableIndexConfig": {
"aggregateMetrics": false,
"enableDefaultStarTree": false,
"nullHandlingEnabled": true,
"rangeIndexVersion": 2,
"autoGeneratedInvertedIndex": false,
"createInvertedIndexDuringSegmentGeneration": false,
"loadMode": "MMAP",
"enableDynamicStarTreeCreation": false,
"columnMajorSegmentBuilderEnabled": true,
"skipSegmentPreprocess": false,
"optimizeDictionary": false,
"optimizeDictionaryForMetrics": false,
"optimizeDictionaryType": false,
"noDictionarySizeRatioThreshold": 0.85
},
"metadata": {
"customConfigs": {}
},
"ingestionConfig": {
"streamIngestionConfig": {
"streamConfigMaps": [
{
"key.serializer": "org.apache.kafka.common.serialization.ByteArraySerializer",
"realtime.segment.flush.threshold.rows": "0",
"realtime.segment.flush.threshold.segment.size": "50M",
"realtime.segment.flush.threshold.time": "1h",
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"xxx\" password=\"xxx\";",
"sasl.mechanism": "SCRAM-SHA-512",
"security.protocol": "SASL_SSL",
"stream.kafka.broker.list": "<http://b-2.xxx.amazonaws.com:9096,b-1.xxx.amazonaws.com:9096,b-3.xxx.amazonaws.com:9096|b-2.xxx.amazonaws.com:9096,b-1.xxx.amazonaws.com:9096,b-3.xxx.amazonaws.com:9096>",
"stream.kafka.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kafka20.KafkaConsumerFactory",
"stream.kafka.consumer.prop.auto.offset.reset": "largest",
"stream.kafka.consumer.type": "LOWLEVEL",
"stream.kafka.decoder.class.name": "org.apache.pinot.plugin.stream.kafka.KafkaJSONMessageDecoder",
"stream.kafka.decoder.prop.format": "JSON",
"stream.kafka.topic.name": "xxx",
"streamType": "kafka",
"value.serializer": "org.apache.kafka.common.serialization.ByteArraySerializer"
}
],
"pauselessConsumptionEnabled": false,
"columnMajorSegmentBuilderEnabled": true,
"trackFilteredMessageOffsets": false,
"enforceConsumptionInOrder": false,
"useIdealStateToCalculatePreviousSegment": false,
"disasterRecoveryMode": "DEFAULT"
},
"transformConfigs": [],
"continueOnError": true,
"retryOnSegmentBuildPrecheckFailure": false,
"rowTimeValueCheck": true,
"segmentTimeValueCheck": false
},
"isDimTable": false
}
}Johan Adami
04/30/2026, 3:21 PMpiby
04/30/2026, 3:27 PMpiby
04/30/2026, 3:28 PMJohan Adami
04/30/2026, 3:29 PMpiby
04/30/2026, 3:31 PMJohan Adami
04/30/2026, 3:36 PMJohan Adami
04/30/2026, 3:36 PMmy_table__2__3373__20260430T0524Z assigned to
• why did they all mark that segment as offline at the same timepiby
04/30/2026, 3:46 PMRekha S
05/01/2026, 6:24 PMpiby
05/04/2026, 8:51 AMreplication = 3 for this realtime table but it still had only one replica.
I tried setting replicasPerPartition = 3 and rebalanced the table and Pinot has now created three replicas.
Isn‘t replicasPerPartition deprecated?
Docs says Deprecation, use replication.
https://docs.pinot.apache.org/reference/configuration-reference/table#segmentsconfig
It is really weird because there are other realtime tables where only replication is defined and it still has 3 replicas