Skip to content

RealtimeToOfflineSegmentsTask task timeout is not configurable #7992

@lksvenoy-r7

Description

@lksvenoy-r7

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions