KKcorps commented on PR #10406:
URL: https://github.com/apache/pinot/pull/10406#issuecomment-1463730645
Steps to reproduce the issue in local:
* Start upsert quickstart - ` bin/quick-start-upsert-streaming.sh -dataDir
$PWD/dataDirUpsert`
* Create a copy of `conf/pinot-server.conf`. Make the following changes to
the new config file -
```properties
pinot.cluster.name=QuickStartCluster
pinot.zk.server=localhost:2123
pinot.server.netty.port=8192
pinot.server.adminapi.port=8193
pinot.server.instance.dataDir=/some/local/dir/dataDirServer2
```
* Start a second server - `bin/pinot-admin.sh StartServer -configFileName
/path/to/pinot-server-copy.conf`
* Assign a new tenant tag `upsertBugRepro_REALTIME` to this server from UI.
* Create the following table -
```json
{
"tableName": "upsertBugRepro",
"tableType": "REALTIME",
"segmentsConfig": {
"timeColumnName": "mtime",
"timeType": "MILLISECONDS",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "1",
"segmentPushType": "APPEND",
"segmentAssignmentStrategy": "BalanceNumSegmentAssignmentStrategy",
"schemaName": "upsertMeetupRsvp",
"replicasPerPartition": "1",
"replicaGroupStrategyConfig": {
"partitionColumn": "event_id",
"numInstancesPerPartition": 1
}
},
"tenants": {
"broker": "DefaultTenant",
"server": "upsertBugRepro"
},
"tableIndexConfig": {
"loadMode": "MMAP",
"streamConfigs": {
"streamType": "kafka",
"stream.kafka.consumer.type": "lowLevel",
"stream.kafka.topic.name": "upsertBugRepro",
"stream.kafka.decoder.class.name":
"org.apache.pinot.plugin.stream.kafka.KafkaJSONMessageDecoder",
"stream.kafka.hlc.zk.connect.string": "localhost:2191/kafka",
"stream.kafka.consumer.factory.class.name":
"org.apache.pinot.plugin.stream.kafka20.KafkaConsumerFactory",
"stream.kafka.zk.broker.url": "localhost:2191/kafka",
"stream.kafka.broker.list": "localhost:19092",
"realtime.segment.flush.threshold.size": 2,
"realtime.segment.flush.threshold.rows": 2
},
"segmentPartitionConfig": {
"columnPartitionMap": {
"event_id": {
"functionName": "Hashcode",
"numPartitions": 2
}
}
}
},
"fieldConfigList": [
{
"name": "location",
"encodingType": "RAW",
"indexType": "H3",
"properties": {
"resolutions": "5"
}
}
],
"metadata": {
"customConfigs": {}
},
"routing": {
"segmentPrunerTypes": ["partition"],
"instanceSelectorType": "strictReplicaGroup"
},
"upsertConfig": {
"mode": "FULL",
"enableSnapshot" : true
}
}
```
* Now publish records to the Kafka topic `upsertBugRepro` by connecting on
`localhost:19092`
* Publish only 6 records. All records should be same.
* Check the Pinot UI. Run `SELECT * FROM upsertBugRepro`. You should only
receive one row in response. Check for the number of segments in the UI as
well. There should be 4 segments, 1 CONSUMING and 3 ONLINE with 2 records each.
* Now shutdown the new server gracefully. Wait for the shutdown to
complete. Do not drop it or remove it from Pinot UI.
* Restart the server again using the previous command. Once up, now try to
run the same SQL query. This time you will receive all 6 records.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]