Dynamic Queue Scheduling [Technical Preview]

The Dynamic Queue Scheduling feature enables you to dynamically change the system state by reconfiguring the values of properties at a predefined time.

Technical Preview: This is a technical preview feature and considered under development. Do not use this in your production systems. To share your feedback, contact Support by logging a case on our Cloudera Support Portal. Technical preview features are not guaranteed troubleshooting guidance and fixes.

The Dynamic Queue Scheduling feature supports queue-level resource allocation configurations only. Additionally, the feature is only supported in relative and absolute resource allocation mode.

The Dynamic Queue Scheduling feature enables you to set a time when a predefined configuration is applied to the YARN Queue Manager system.

Review the following scenario: There are two system states, State-A and State-B, that have to be scheduled for the system. State-A should be used from 8 AM to 8 PM, and State-B should be used from 8 PM to 8 AM. In this case two scheduling rules have to be created:
  • Scheduling rule A takes effect at 8 AM and applies Dynamic Configuration State-A to the system.
  • Scheduling rule B takes effect at 8 PM and applies Dynamic Configuration State-B to the system.

When a new Dynamic Configuration is created, it is based on the current configuration and enabled by default. Dynamic Configurations can be disabled at any time, either manually or by the system. If a Dynamic Configuration is an invalid configuration, it is disabled automatically by the system and it cannot be enabled manually until it is brought back into a valid state.

Dynamic Configurations do not contain any structural changes such as adding or deleting queues. Moreover, some manual structural changes can invalidate already existing Dynamic Configurations. As a result, existing Dynamic Configurations are validated when any structural changes occur. The following table explains how and when the system validates a Dynamic Configuration and the results of validation.

Table 1. Dynamic Configuration validation
Validation time Triggering event What is checked? Action if Dynamic Configuration is invalid Action if Dynamic Configuration is valid
Design time When saving a Dynamic Configuration. The system checks if the Dynamic Configuration is valid and can be applied. The Dynamic Configuration is saved in a disabled state. Dynamic Configuration is saved in an enabled state.
Run time When the system begins to apply a Dynamic Configuration. The system checks if the Dynamic Configuration is valid and can be applied. Dynamic Configuration is not applied and is disabled. Dynamic Configuration is applied to the system.

Dynamic Configuration conflicts

A dynamic queue configuration related scheduling conflict occurs if two or more Dynamic Configurations are scheduled to be applied at the same time. Although recurrence patterns of Dynamic Configurations can be open ended, scheduling conflicts are detected only one year ahead of time.

The system executes the conflicted Dynamic Configurations one after the other without any predetermined order. This way, concurrent changes to the same property are prevented. However, you must ensure that no system-breaking conflict is present.