blob: b7f8b37e36d91fc3e459b66edf6a9afc35180263 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.flink.configuration;
import org.apache.flink.annotation.PublicEvolving;
import static org.apache.flink.configuration.ConfigOptions.key;
/** The set of configuration options relating to Queryable State. */
@PublicEvolving
public class QueryableStateOptions {
// ------------------------------------------------------------------------
// Server Options
// ------------------------------------------------------------------------
/**
* The config parameter defining the server port range of the queryable state proxy.
*
* <p>A proxy runs on each Task Manager, so many proxies may run on the same machine.
*
* <p>Given this, and to avoid port clashes, the user can specify a port range and the proxy
* will bind to the first free port in that range.
*
* <p>The specified range can be:
*
* <ol>
* <li>a port: "9123",
* <li>a range of ports: "50100-50200", or
* <li>a list of ranges and ports: "50100-50200,50300-50400,51234"
* </ol>
*
* <p><b>The default port is 9069.</b>
*/
public static final ConfigOption<String> PROXY_PORT_RANGE =
key("queryable-state.proxy.ports")
.defaultValue("9069")
.withDescription(
"The port range of the queryable state proxy. The specified range can be a single "
+ "port: \"9123\", a range of ports: \"50100-50200\", "
+ "or a list of ranges and ports: \"50100-50200,50300-50400,51234\".")
.withDeprecatedKeys("query.proxy.ports");
/** Number of network (event loop) threads for the client proxy (0 => #slots). */
public static final ConfigOption<Integer> PROXY_NETWORK_THREADS =
key("queryable-state.proxy.network-threads")
.defaultValue(0)
.withDescription(
"Number of network (Netty's event loop) Threads for queryable state proxy.")
.withDeprecatedKeys("query.proxy.network-threads");
/** Number of async query threads for the client proxy (0 => #slots). */
public static final ConfigOption<Integer> PROXY_ASYNC_QUERY_THREADS =
key("queryable-state.proxy.query-threads")
.defaultValue(0)
.withDescription(
"Number of query Threads for queryable state proxy. Uses the number of slots if set to 0.")
.withDeprecatedKeys("query.proxy.query-threads");
/**
* The config parameter defining the server port range of the queryable state server.
*
* <p>A state server runs on each Task Manager, so many server may run on the same machine.
*
* <p>Given this, and to avoid port clashes, the user can specify a port range and the server
* will bind to the first free port in that range.
*
* <p>The specified range can be:
*
* <ol>
* <li>a port: "9123",
* <li>a range of ports: "50100-50200", or
* <li>a list of ranges and ports: "50100-50200,50300-50400,51234"
* </ol>
*
* <p><b>The default port is 9067.</b>
*/
public static final ConfigOption<String> SERVER_PORT_RANGE =
key("queryable-state.server.ports")
.defaultValue("9067")
.withDescription(
"The port range of the queryable state server. The specified range can be a single "
+ "port: \"9123\", a range of ports: \"50100-50200\", "
+ "or a list of ranges and ports: \"50100-50200,50300-50400,51234\".")
.withDeprecatedKeys("query.server.ports");
/** Number of network (event loop) threads for the KvState server (0 => #slots). */
public static final ConfigOption<Integer> SERVER_NETWORK_THREADS =
key("queryable-state.server.network-threads")
.defaultValue(0)
.withDescription(
"Number of network (Netty's event loop) Threads for queryable state server.")
.withDeprecatedKeys("query.server.network-threads");
/** Number of async query threads for the KvStateServerHandler (0 => #slots). */
public static final ConfigOption<Integer> SERVER_ASYNC_QUERY_THREADS =
key("queryable-state.server.query-threads")
.defaultValue(0)
.withDescription(
"Number of query Threads for queryable state server. Uses the number of slots if set to 0.")
.withDeprecatedKeys("query.server.query-threads");
/**
* Option whether the queryable state proxy and server should be enabled where possible and
* configurable.
*
* <p>Queryable state proxy and server are still more experimental features, hence disabled
* unless they are enable in user configuration.
*/
public static final ConfigOption<Boolean> ENABLE_QUERYABLE_STATE_PROXY_SERVER =
key("queryable-state.enable")
.defaultValue(false)
.withDescription(
"Option whether the queryable state proxy and server should be enabled where possible"
+ " and configurable.");
// ------------------------------------------------------------------------
// Client Options
// ------------------------------------------------------------------------
/**
* Number of network (event loop) threads for the KvState client (0 => Use number of available
* cores).
*/
public static final ConfigOption<Integer> CLIENT_NETWORK_THREADS =
key("queryable-state.client.network-threads")
.defaultValue(0)
.withDescription(
"Number of network (Netty's event loop) Threads for queryable state client.")
.withDeprecatedKeys("query.client.network-threads");
// ------------------------------------------------------------------------
/** Not intended to be instantiated. */
private QueryableStateOptions() {}
}