Key | Default | Type | Description
--- | --- | --- | ---

##### jobmanager.adaptive-scheduler.executing.cooldown-after-rescaling

30 s

Duration

Determines the minimum time between scaling operations.

##### jobmanager.adaptive-scheduler.executing.resource-stabilization-timeout

1 min

Duration

Defines the duration the JobManager delays the scaling operation after a resource change if only sufficient resources are available. The scaling operation is performed immediately if the resources have changed and the desired resources are available. The timeout begins as soon as either the available resources or the job's resource requirements are changed.
The resource requirements of a running job can be changed using the REST API endpoint.

##### jobmanager.adaptive-scheduler.prefer-minimal-taskmanagers

true

Boolean

This parameter defines whether the adaptive scheduler prioritizes using the minimum number of `TaskManagers` when scheduling tasks.
Note, this parameter is suitable if `execution.state-recovery.from-local` is not enabled. More details about this configuration are available at FLINK-33977.

##### jobmanager.adaptive-scheduler.rescale-trigger.max-checkpoint-failures

2

Integer

The number of consecutive failed checkpoints that will trigger rescaling even in the absence of a completed checkpoint.

##### jobmanager.adaptive-scheduler.rescale-trigger.max-delay

(none)

Duration

The maximum time the JobManager will wait with evaluating previously observed events for rescaling (default: 0ms if checkpointing is disabled and the checkpointing interval multiplied by the by-1-incremented parameter value of jobmanager.adaptive-scheduler.rescale-trigger.max-checkpoint-failures if checkpointing is enabled).

##### jobmanager.adaptive-scheduler.submission.resource-stabilization-timeout

10 s

Duration

The resource stabilization timeout defines the time the JobManager will wait if fewer than the desired but sufficient resources are available during job submission. The timeout starts once sufficient resources for running the job are available. Once this timeout has passed, the job will start executing with the available resources.
If `scheduler-mode` is configured to `REACTIVE`, this configuration value will default to 0, so that jobs are starting immediately with the available resources.

##### jobmanager.adaptive-scheduler.submission.resource-wait-timeout

5 min

Duration

The maximum time the JobManager will wait to acquire all required resources after a job submission or restart. Once elapsed it will try to run the job with a lower parallelism, or fail if the minimum amount of resources could not be acquired.
Increasing this value will make the cluster more resilient against temporary resources shortages (e.g., there is more time for a failed TaskManager to be restarted).
Setting a negative duration will disable the resource timeout: The JobManager will wait indefinitely for resources to appear.
If `scheduler-mode` is configured to `REACTIVE`, this configuration value will default to a negative value to disable the resource timeout.

##### jobmanager.archive.fs.dir

(none)

String

Directory for JobManager to store the archives of completed jobs.

##### jobmanager.bind-host

(none)

String

The local address of the network interface that the job manager binds to. If not configured, '0.0.0.0' will be used.

##### jobmanager.execution.attempts-history-size

16

Integer

The maximum number of historical execution attempts kept in history.

##### jobmanager.execution.failover-strategy

"region"

String

This option specifies how the job computation recovers from task failures. Accepted values are:

- 'full': Restarts all tasks to recover the job.
- 'region': Restarts all tasks that could be affected by the task failure. More details can be found here.

##### jobmanager.failure-enrichers

(none)

String

An optional list of failure enricher names. If empty, NO failure enrichers will be started. If configured, only enrichers whose name matches any of the names in the list will be started.

##### jobmanager.future-pool.size

(none)

Integer

The size of the future thread pool to execute future callbacks for all spawned JobMasters. If no value is specified, then Flink defaults to the number of available CPU cores.

##### jobmanager.io-pool.size

(none)

Integer

The size of the IO thread pool to run blocking operations for all spawned JobMasters. This includes recovery and completion of checkpoints. Increase this value if you experience slow checkpoint operations when running many jobs. If no value is specified, then Flink defaults to the number of available CPU cores.

##### jobmanager.partition.hybrid.partition-data-consume-constraint

(none)

Enum

Controls the constraint that hybrid partition data can be consumed. Note that this option is allowed only when `jobmanager.scheduler` has been set to `AdaptiveBatch`. Accepted values are:

- '`ALL_PRODUCERS_FINISHED`': hybrid partition data can be consumed only when all producers are finished.
- '`ONLY_FINISHED_PRODUCERS`': hybrid partition data can be consumed when its producer is finished.
- '`UNFINISHED_PRODUCERS`': hybrid partition data can be consumed even if its producer is un-finished.

Possible values:

- "ALL_PRODUCERS_FINISHED"
- "ONLY_FINISHED_PRODUCERS"
- "UNFINISHED_PRODUCERS"

##### jobmanager.resource-id

(none)

String

The JobManager's ResourceID. If not configured, the ResourceID will be generated randomly.

##### jobmanager.retrieve-taskmanager-hostname

true

Boolean

Flag indicating whether JobManager would retrieve canonical host name of TaskManager during registration. If the option is set to "false", TaskManager registration with JobManager could be faster, since no reverse DNS lookup is performed. However, local input split assignment (such as for HDFS files) may be impacted.

##### jobmanager.rpc.address

(none)

String

The config parameter defining the network address to connect to for communication with the job manager. This value is only interpreted in setups where a single JobManager with static name or address exists (simple standalone setups, or container setups with dynamic service name resolution). It is not used in many high-availability setups, when a leader-election service (like ZooKeeper) is used to elect and discover the JobManager leader from potentially multiple standby JobManagers.

##### jobmanager.rpc.bind-port

(none)

Integer

The local RPC port that the JobManager binds to. If not configured, the external port (configured by 'jobmanager.rpc.port') will be used.

##### jobmanager.rpc.port

6123

Integer

The config parameter defining the network port to connect to for communication with the job manager. Like jobmanager.rpc.address, this value is only interpreted in setups where a single JobManager with static name/address and port exists (simple standalone setups, or container setups with dynamic service name resolution). This config option is not used in many high-availability setups, when a leader-election service (like ZooKeeper) is used to elect and discover the JobManager leader from potentially multiple standby JobManagers.

##### jobmanager.scheduler

Default

Enum

Determines which scheduler implementation is used to schedule tasks. If this option is not explicitly set, batch jobs will use the 'AdaptiveBatch' scheduler as the default, while streaming jobs will default to the 'Default' scheduler.
Possible values:

- "Default": Default scheduler
- "Adaptive": Adaptive scheduler. More details can be found here.
- "AdaptiveBatch": Adaptive batch scheduler. More details can be found here.

##### jobstore.cache-size

52428800

Long

The job store cache size in bytes which is used to keep completed jobs in memory.

##### jobstore.expiration-time

3600

Long

The time in seconds after which a completed job expires and is purged from the job store.

##### jobstore.max-capacity

infinite

Integer

The max number of completed jobs that can be kept in the job store. NOTICE: if memory store keeps too many jobs in session cluster, it may cause FullGC or OOM in jm.

##### jobstore.type

File

Enum

Determines which job store implementation is used in session cluster. Accepted values are:

- 'File': the file job store keeps the archived execution graphs in files
- 'Memory': the memory job store keeps the archived execution graphs in memory. You may need to limit the `jobstore.max-capacity` to mitigate FullGC or OOM when there are too many graphs

Possible values:

- "File"
- "Memory"

##### web.exception-history-size

16

Integer

The maximum number of failures collected by the exception history per job.