-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
The task timeout for the RealtimeToOfflineSegments task is not configurable, meaning large tables with large segments can time out when performing the task. In my case, this makes the task useless for some of my larger tables.
Looking at the source code, it looks like all tasks have a hardcoded timeout of 1 hour: https://github.com/apache/pinot/blob/master/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/generator/PinotTaskGenerator.java#L52 as this is not overwritten in the implementors.
Here's the usage of this timeout:
https://github.com/apache/pinot/blob/master/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/PinotTaskManager.java#L422
https://github.com/apache/pinot/blob/master/pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/realtimetoofflinesegments/RealtimeToOfflineSegmentsTaskGenerator.java
It would be nice to see the default signature on the PinotTaskManager interface removed so that all implementors were forced to implement their own task timeouts (which could default to 1hr) as having configurable task timeouts makes it easier to configure pinot depending on the use cases for various tables.