Enable partition stats on streaming task completion report#15930
Enable partition stats on streaming task completion report#15930kfaraz merged 9 commits intoapache:masterfrom
Conversation
This adds visibility into number of partitions processed by each task and the count of records processes from each of those partitions.
kfaraz
left a comment
There was a problem hiding this comment.
Thanks for the PR, @adithyachakilam!
Overall, the change makes sense to me. Could you add some info of why you needed this stat and if it helped you debug any failure scenario?
suneet-s
left a comment
There was a problem hiding this comment.
Thanks for your first contribution @adithyachakilam ! I have one suggestion on naming the object in the task report. Kashif also has some good suggestions to improve code readability.
LGTM after the rename for the object in the task report and associated docs.
In the PR description, can you update the Release note section to answer why someone may want to read the recordsProcessed field from the task report.
kfaraz
left a comment
There was a problem hiding this comment.
LGTM, +1 after CI passes.
|
@kfaraz seems like an unrelated flaky test that has failed. |
|
Thanks for your first contribution, @adithyachakilam ! |
|
I have already merged the PR but taking another look at the final payload, I feel Looking at this payload, it is difficult to tell exactly what each entry in the map represents. @suneet-s , @adithyachakilam , what do you think? |
Description
This adds visibility into number of partitions processed by each streaming task and the count of records processed from each of those partitions.
This PR updates
IngestionStatsAndErrorsTaskReportDatato take new map which represent count by partition andSeekableStreamIndexTaskRunnerpopulates that map while processing each record. We are trying to analyze the work done by each task so as to efficiently assign appropriate resources in future to the worker nodes.Release note
Streaming Task completion report now has an extra field
recordsProcessedwhich lists all the partitions processed by that task and count of records for each partition. One can look at this field to see the actual throughput of tasks and make decision as to vertically/horizontally scale there workers.Key changed/added classes in this PR
SeekableStreamIndexTaskRunner.javaIngestionStatsAndErrorsTaskReportData.javaThis PR has: