Hi team, I got a pinot table ingesting topic of wh...
# troubleshooting
a
Hi team, I got a pinot table ingesting topic of which partition number is reduced from 6 to 3, and 3 segments stop consuming data. Then what are the right steps taken in order to ingest data for this table?
x
how do you reduce the topic partitions?
I don’t think there is a way to shrink the realtime table partitions, unless @Neha Pawar or @Jackie know some manually ways to do it?
a
changed topic name in table config from one topic with 6 partitions to another with 3 partitions
n
So new 3 partitions consuming fine? And you want to remove the 3, 4, 5 which referred to old one? What about data in the segments they made, you don't want that data?
a
image.png
A bit complex issue here. 1, 3 partitions are generating segments with total docs 0. 2, segments referred to 3 removed partitions are mostly deleted due to retention time, and only 3 consuming segments left. It’s ok to remove them if there’s a method to do it.
image.png
j
If you just want to get rid of them, manually delete should work fine
a
Ok. Why there are segments with total.docs 0?
“stream.kafka.idle.timeout.millis”: “86400000" was added to this table config to try to fix consuming stuck issue.
Maybe changing topic name in table config is the root cause of consumption stop issue. Offset in one topic is much larger than the topic used in the latest table config.
j
Yes, that should be the case. Trying to understand the intention here. Do you want to consume from a different topic but still keeping the current consumed data?
a
Topic is changed from topicA to topicB in order to test some use case, and finally changed from topicB to topicA, and consuming is stuck. Since root cause is located, it’d be better if the table could ingest data again.
I deleted 3 unused partition segments. Any way to reset the offset to make the table consuming data again?
j
Hmm, if the offset is already messed up, the simplest way is to re-create the table
If you want to keep the already consumed data from topicA, you will have to find the segments consumed from topicB and delete them manually
a
Nice, I’ll try this one. After deleting them manually, is reset segment api needed?
j
After deleting all the consuming segments and the segments consumed from topicB, you can call the resume consumption API:
POST {controllerHost}/tables/{tableName}/resumeConsumption
Are you running release 0.11?
a
yes, it’s just upgraded to release 0.11.
j
Cool, then you can use the resume consumption API
You may want to read this doc for some more operations: https://docs.pinot.apache.org/basics/data-import/pinot-stream-ingestion
a
Ok. Thanks.
This method works. Thank you so much.
👍 1