[
    {
        "key": "host",
        "type": "string"
    },
    {
        "key": "advertise-address",
        "type": "string"
    },
    {
        "key": "port",
        "type": "int"
    },
    {
        "key": "cors",
        "type": "string"
    },
    {
        "key": "store",
        "type": "string"
    },
    {
        "key": "path",
        "type": "string"
    },
    {
        "key": "socket",
        "type": "string"
    },
    {
        "key": "lease",
        "type": "string"
    },
    {
        "key": "split-table",
        "type": "bool"
    },
    {
        "key": "token-limit",
        "type": "int"
    },
    {
        "key": "temp-dir",
        "type": "string"
    },
    {
        "key": "tmp-storage-path",
        "type": "string"
    },
    {
        "key": "tmp-storage-quota",
        "type": "int",
        "comment": "TempStorageQuota describe the temporary storage Quota during query exector when TiDBEnableTmpStorageOnOOM is enabled\nIf the quota exceed the capacity of the TempStoragePath, the tidb-server would exit with fatal error"
    },
    {
        "key": "server-version",
        "type": "string"
    },
    {
        "key": "version-comment",
        "type": "string"
    },
    {
        "key": "tidb-edition",
        "type": "string"
    },
    {
        "key": "tidb-release-version",
        "type": "string"
    },
    {
        "key": "keyspace-name",
        "type": "string"
    },
    {
        "key": "log.level",
        "type": "string",
        "comment": "Log level."
    },
    {
        "key": "log.format",
        "type": "string",
        "comment": "Log format, one of json or text."
    },
    {
        "key": "log.disable-timestamp",
        "type": "bool",
        "comment": "Disable automatic timestamps in output. Deprecated: use EnableTimestamp instead."
    },
    {
        "key": "log.enable-timestamp",
        "type": "bool",
        "comment": "EnableTimestamp enables automatic timestamps in log output."
    },
    {
        "key": "log.disable-error-stack",
        "type": "bool",
        "comment": "DisableErrorStack stops annotating logs with the full stack error\nmessage. Deprecated: use EnableErrorStack instead."
    },
    {
        "key": "log.enable-error-stack",
        "type": "bool",
        "comment": "EnableErrorStack enables annotating logs with the full stack error\nmessage."
    },
    {
        "key": "log.file.filename",
        "type": "string"
    },
    {
        "key": "log.file.max-size",
        "type": "int"
    },
    {
        "key": "log.file.max-days",
        "type": "int"
    },
    {
        "key": "log.file.max-backups",
        "type": "int"
    },
    {
        "key": "log.file.compression",
        "type": "string"
    },
    {
        "key": "log.slow-query-file",
        "type": "string"
    },
    {
        "key": "log.expensive-threshold",
        "type": "int",
        "comment": "ExpensiveThreshold is deprecated."
    },
    {
        "key": "log.general-log-file",
        "type": "string"
    },
    {
        "key": "log.query-log-max-len",
        "type": "int",
        "comment": "QueryLogMaxLen unused since bootstrap v90"
    },
    {
        "key": "log.enable-slow-log",
        "type": "bool",
        "comment": "EnableSlowLog, SlowThreshold, RecordPlanInSlowLog are deprecated."
    },
    {
        "key": "log.slow-threshold",
        "type": "int"
    },
    {
        "key": "log.record-plan-in-slow-log",
        "type": "int"
    },
    {
        "key": "log.timeout",
        "type": "int",
        "comment": "Make tidb panic if write log operation hang in `Timeout` seconds"
    },
    {
        "key": "instance.tidb_general_log",
        "type": "bool",
        "comment": "TiDBGeneralLog is used to log every query in the server in info level."
    },
    {
        "key": "instance.tidb_pprof_sql_cpu",
        "type": "bool",
        "comment": "EnablePProfSQLCPU is used to add label sql label to pprof result."
    },
    {
        "key": "instance.ddl_slow_threshold",
        "type": "int",
        "comment": "DDLSlowOprThreshold sets log DDL operations whose execution time exceeds the threshold value."
    },
    {
        "key": "instance.tidb_expensive_query_time_threshold",
        "type": "int",
        "comment": "ExpensiveQueryTimeThreshold indicates the time threshold of expensive query."
    },
    {
        "key": "instance.tidb_expensive_txn_time_threshold",
        "type": "int",
        "comment": "ExpensiveTxnTimeThreshold indicates the time threshold of expensive transaction."
    },
    {
        "key": "instance.tidb_stmt_summary_enable_persistent",
        "type": "bool",
        "comment": "StmtSummaryEnablePersistent indicates whether to enable file persistence for stmtsummary."
    },
    {
        "key": "instance.tidb_stmt_summary_filename",
        "type": "string",
        "comment": "StmtSummaryFilename indicates the file name written by stmtsummary\nwhen StmtSummaryEnablePersistent is true."
    },
    {
        "key": "instance.tidb_stmt_summary_file_max_days",
        "type": "int",
        "comment": "StmtSummaryFileMaxDays indicates how many days the files written by\nstmtsummary will be kept when StmtSummaryEnablePersistent is true."
    },
    {
        "key": "instance.tidb_stmt_summary_file_max_size",
        "type": "int",
        "comment": "StmtSummaryFileMaxSize indicates the maximum size (in mb) of a single file\nwritten by stmtsummary when StmtSummaryEnablePersistent is true."
    },
    {
        "key": "instance.tidb_stmt_summary_file_max_backups",
        "type": "int",
        "comment": "StmtSummaryFileMaxBackups indicates the maximum number of files written\nby stmtsummary when StmtSummaryEnablePersistent is true."
    },
    {
        "key": "instance.tidb_enable_slow_log",
        "type": "bool"
    },
    {
        "key": "instance.tidb_slow_log_threshold",
        "type": "int"
    },
    {
        "key": "instance.tidb_record_plan_in_slow_log",
        "type": "int"
    },
    {
        "key": "instance.tidb_check_mb4_value_in_utf8",
        "type": "bool"
    },
    {
        "key": "instance.tidb_force_priority",
        "type": "string"
    },
    {
        "key": "instance.tidb_memory_usage_alarm_ratio",
        "type": "float"
    },
    {
        "key": "instance.tidb_enable_collect_execution_info",
        "type": "bool",
        "comment": "EnableCollectExecutionInfo enables the TiDB to collect execution info."
    },
    {
        "key": "instance.plugin_dir",
        "type": "string"
    },
    {
        "key": "instance.plugin_load",
        "type": "string"
    },
    {
        "key": "instance.max_connections",
        "type": "int",
        "comment": "MaxConnections is the maximum permitted number of simultaneous client connections."
    },
    {
        "key": "instance.tidb_enable_ddl",
        "type": "bool"
    },
    {
        "key": "instance.tidb_rc_read_check_ts",
        "type": "bool"
    },
    {
        "key": "instance.tidb_service_scope",
        "type": "string",
        "comment": "TiDBServiceScope indicates the role for tidb for distributed task framework."
    },
    {
        "key": "security.skip-grant-table",
        "type": "bool"
    },
    {
        "key": "security.ssl-ca",
        "type": "string"
    },
    {
        "key": "security.ssl-cert",
        "type": "string"
    },
    {
        "key": "security.ssl-key",
        "type": "string"
    },
    {
        "key": "security.cluster-ssl-ca",
        "type": "string"
    },
    {
        "key": "security.cluster-ssl-cert",
        "type": "string"
    },
    {
        "key": "security.cluster-ssl-key",
        "type": "string"
    },
    {
        "key": "security.cluster-verify-cn",
        "type": "json"
    },
    {
        "key": "security.session-token-signing-cert",
        "type": "string",
        "comment": "Used for auth plugin `tidb_session_token`."
    },
    {
        "key": "security.session-token-signing-key",
        "type": "string"
    },
    {
        "key": "security.spilled-file-encryption-method",
        "type": "string",
        "comment": "If set to \"plaintext\", the spilled files will not be encrypted."
    },
    {
        "key": "security.enable-sem",
        "type": "bool",
        "comment": "EnableSEM prevents SUPER users from having full access."
    },
    {
        "key": "security.auto-tls",
        "type": "bool",
        "comment": "Allow automatic TLS certificate generation"
    },
    {
        "key": "security.tls-version",
        "type": "string"
    },
    {
        "key": "security.rsa-key-size",
        "type": "int"
    },
    {
        "key": "security.secure-bootstrap",
        "type": "bool"
    },
    {
        "key": "security.auth-token-jwks",
        "type": "string",
        "comment": "The path of the JWKS for tidb_auth_token authentication"
    },
    {
        "key": "security.auth-token-refresh-interval",
        "type": "string",
        "comment": "The refresh time interval of JWKS"
    },
    {
        "key": "security.disconnect-on-expired-password",
        "type": "bool",
        "comment": "Disconnect directly when the password is expired"
    },
    {
        "key": "status.status-host",
        "type": "string"
    },
    {
        "key": "status.metrics-addr",
        "type": "string"
    },
    {
        "key": "status.status-port",
        "type": "int"
    },
    {
        "key": "status.metrics-interval",
        "type": "int"
    },
    {
        "key": "status.report-status",
        "type": "bool"
    },
    {
        "key": "status.record-db-qps",
        "type": "bool"
    },
    {
        "key": "status.record-db-label",
        "type": "bool"
    },
    {
        "key": "status.grpc-keepalive-time",
        "type": "int",
        "comment": "After a duration of this time in seconds if the server doesn't see any activity it pings\nthe client to see if the transport is still alive."
    },
    {
        "key": "status.grpc-keepalive-timeout",
        "type": "int",
        "comment": "After having pinged for keepalive check, the server waits for a duration of timeout in seconds\nand if no activity is seen even after that the connection is closed."
    },
    {
        "key": "status.grpc-concurrent-streams",
        "type": "int",
        "comment": "The number of max concurrent streams/requests on a client connection."
    },
    {
        "key": "status.grpc-initial-window-size",
        "type": "int",
        "comment": "Sets window size for stream. The default value is 2MB."
    },
    {
        "key": "status.grpc-max-send-msg-size",
        "type": "int",
        "comment": "Set maximum message length in bytes that gRPC can send. `-1` means unlimited. The default value is 10MB."
    },
    {
        "key": "performance.max-procs",
        "type": "int"
    },
    {
        "key": "performance.max-memory",
        "type": "int",
        "comment": "Deprecated: use ServerMemoryQuota instead"
    },
    {
        "key": "performance.server-memory-quota",
        "type": "int"
    },
    {
        "key": "performance.stats-lease",
        "type": "string"
    },
    {
        "key": "performance.stmt-count-limit",
        "type": "int",
        "comment": "Deprecated: transaction auto retry is deprecated."
    },
    {
        "key": "performance.pseudo-estimate-ratio",
        "type": "float"
    },
    {
        "key": "performance.bind-info-lease",
        "type": "string"
    },
    {
        "key": "performance.txn-entry-size-limit",
        "type": "int"
    },
    {
        "key": "performance.txn-total-size-limit",
        "type": "int"
    },
    {
        "key": "performance.tcp-keep-alive",
        "type": "bool"
    },
    {
        "key": "performance.tcp-no-delay",
        "type": "bool"
    },
    {
        "key": "performance.cross-join",
        "type": "bool"
    },
    {
        "key": "performance.distinct-agg-push-down",
        "type": "bool"
    },
    {
        "key": "performance.projection-push-down",
        "type": "bool",
        "comment": "Whether enable projection push down for coprocessors (both tikv \u0026 tiflash), default false."
    },
    {
        "key": "performance.max-txn-ttl",
        "type": "int"
    },
    {
        "key": "performance.index-usage-sync-lease",
        "type": "string",
        "comment": "Deprecated: this config will not have any effect"
    },
    {
        "key": "performance.plan-replayer-gc-lease",
        "type": "string"
    },
    {
        "key": "performance.gogc",
        "type": "int"
    },
    {
        "key": "performance.enforce-mpp",
        "type": "bool"
    },
    {
        "key": "performance.stats-load-concurrency",
        "type": "int"
    },
    {
        "key": "performance.stats-load-queue-size",
        "type": "int"
    },
    {
        "key": "performance.analyze-partition-concurrency-quota",
        "type": "int"
    },
    {
        "key": "performance.plan-replayer-dump-worker-concurrency",
        "type": "int"
    },
    {
        "key": "performance.enable-stats-cache-mem-quota",
        "type": "bool"
    },
    {
        "key": "performance.committer-concurrency",
        "type": "int",
        "comment": "CommitterConcurrency, RunAutoAnalyze unused since bootstrap v90"
    },
    {
        "key": "performance.run-auto-analyze",
        "type": "bool"
    },
    {
        "key": "performance.force-priority",
        "type": "string",
        "comment": "ForcePriority, MemoryUsageAlarmRatio are deprecated."
    },
    {
        "key": "performance.memory-usage-alarm-ratio",
        "type": "float"
    },
    {
        "key": "performance.enable-load-fmsketch",
        "type": "bool"
    },
    {
        "key": "performance.lite-init-stats",
        "type": "bool",
        "comment": "LiteInitStats indicates whether to use the lite version of stats.\n1. Basic stats meta data is loaded.(count, modify count, etc.)\n2. Column/index stats are loaded. (only histogram)\n3. TopN, Bucket, FMSketch are not loaded.\nThe lite version of stats is enabled by default."
    },
    {
        "key": "performance.force-init-stats",
        "type": "bool",
        "comment": "If ForceInitStats is true, when tidb starts up, it doesn't provide service until init stats is finished.\nIf ForceInitStats is false, tidb can provide service before init stats is finished. Note that during the period\nof init stats the optimizer may make bad decisions due to pseudo stats."
    },
    {
        "key": "performance.concurrently-init-stats",
        "type": "bool",
        "comment": "ConcurrentlyInitStats indicates whether to use concurrency to init stats."
    },
    {
        "key": "prepared-plan-cache.enabled",
        "type": "bool"
    },
    {
        "key": "prepared-plan-cache.capacity",
        "type": "int"
    },
    {
        "key": "prepared-plan-cache.memory-guard-ratio",
        "type": "float"
    },
    {
        "key": "opentracing.enable",
        "type": "bool"
    },
    {
        "key": "opentracing.rpc-metrics",
        "type": "bool"
    },
    {
        "key": "opentracing.sampler.type",
        "type": "string"
    },
    {
        "key": "opentracing.sampler.param",
        "type": "float"
    },
    {
        "key": "opentracing.sampler.sampling-server-url",
        "type": "string"
    },
    {
        "key": "opentracing.sampler.max-operations",
        "type": "int"
    },
    {
        "key": "opentracing.sampler.sampling-refresh-interval",
        "type": "string"
    },
    {
        "key": "opentracing.reporter.queue-size",
        "type": "int"
    },
    {
        "key": "opentracing.reporter.buffer-flush-interval",
        "type": "string"
    },
    {
        "key": "opentracing.reporter.log-spans",
        "type": "bool"
    },
    {
        "key": "opentracing.reporter.local-agent-host-port",
        "type": "string"
    },
    {
        "key": "proxy-protocol.networks",
        "type": "string",
        "comment": "PROXY protocol acceptable client networks.\nEmpty string means disable PROXY protocol,\n* means all networks."
    },
    {
        "key": "proxy-protocol.header-timeout",
        "type": "int",
        "comment": "PROXY protocol header read timeout, Unit is second."
    },
    {
        "key": "proxy-protocol.fallbackable",
        "type": "bool",
        "comment": "PROXY protocol header process fallback-able.\nIf set to true and not send PROXY protocol header, connection will return connection's client IP."
    },
    {
        "key": "pd-client.pd-server-timeout",
        "type": "int"
    },
    {
        "key": "tikv-client.grpc-connection-count",
        "type": "int"
    },
    {
        "key": "tikv-client.grpc-keepalive-time",
        "type": "int"
    },
    {
        "key": "tikv-client.grpc-keepalive-timeout",
        "type": "int"
    },
    {
        "key": "tikv-client.grpc-compression-type",
        "type": "string"
    },
    {
        "key": "tikv-client.grpc-shared-buffer-pool",
        "type": "bool"
    },
    {
        "key": "tikv-client.grpc-initial-window-size",
        "type": "int"
    },
    {
        "key": "tikv-client.grpc-initial-conn-window-size",
        "type": "int"
    },
    {
        "key": "tikv-client.commit-timeout",
        "type": "string"
    },
    {
        "key": "tikv-client.async-commit.keys-limit",
        "type": "int"
    },
    {
        "key": "tikv-client.async-commit.total-key-size-limit",
        "type": "int"
    },
    {
        "key": "tikv-client.async-commit.safe-window",
        "type": "string"
    },
    {
        "key": "tikv-client.async-commit.allowed-clock-drift",
        "type": "string"
    },
    {
        "key": "tikv-client.max-batch-size",
        "type": "int"
    },
    {
        "key": "tikv-client.overload-threshold",
        "type": "int"
    },
    {
        "key": "tikv-client.max-batch-wait-time",
        "type": "string"
    },
    {
        "key": "tikv-client.batch-wait-size",
        "type": "int"
    },
    {
        "key": "tikv-client.enable-chunk-rpc",
        "type": "bool"
    },
    {
        "key": "tikv-client.region-cache-ttl",
        "type": "int"
    },
    {
        "key": "tikv-client.store-limit",
        "type": "int"
    },
    {
        "key": "tikv-client.store-liveness-timeout",
        "type": "string"
    },
    {
        "key": "tikv-client.copr-cache.capacity-mb",
        "type": "float"
    },
    {
        "key": "tikv-client.copr-cache.admission-max-ranges",
        "type": "int"
    },
    {
        "key": "tikv-client.copr-cache.admission-max-result-mb",
        "type": "float"
    },
    {
        "key": "tikv-client.copr-cache.admission-min-process-ms",
        "type": "int"
    },
    {
        "key": "tikv-client.copr-req-timeout",
        "type": "string"
    },
    {
        "key": "tikv-client.ttl-refreshed-txn-size",
        "type": "int"
    },
    {
        "key": "tikv-client.resolve-lock-lite-threshold",
        "type": "int"
    },
    {
        "key": "tikv-client.max-concurrency-request-limit",
        "type": "int"
    },
    {
        "key": "tikv-client.enable-replica-selector-v2",
        "type": "bool"
    },
    {
        "key": "binlog.enable",
        "type": "bool"
    },
    {
        "key": "binlog.ignore-error",
        "type": "bool",
        "comment": "If IgnoreError is true, when writing binlog meets error, TiDB would\nignore the error."
    },
    {
        "key": "binlog.write-timeout",
        "type": "string"
    },
    {
        "key": "binlog.binlog-socket",
        "type": "string",
        "comment": "Use socket file to write binlog, for compatible with kafka version tidb-binlog."
    },
    {
        "key": "binlog.strategy",
        "type": "string",
        "comment": "The strategy for sending binlog to pump, value can be \"range\" or \"hash\" now."
    },
    {
        "key": "compatible-kill-query",
        "type": "bool"
    },
    {
        "key": "pessimistic-txn.max-retry-count",
        "type": "int",
        "comment": "The max count of retry for a single statement in a pessimistic transaction."
    },
    {
        "key": "pessimistic-txn.deadlock-history-capacity",
        "type": "int",
        "comment": "The max count of deadlock events that will be recorded in the information_schema.deadlocks table."
    },
    {
        "key": "pessimistic-txn.deadlock-history-collect-retryable",
        "type": "bool",
        "comment": "Whether retryable deadlocks (in-statement deadlocks) are collected to the information_schema.deadlocks table."
    },
    {
        "key": "pessimistic-txn.pessimistic-auto-commit",
        "type": "bool",
        "comment": "PessimisticAutoCommit represents if true it means the auto-commit transactions will be in pessimistic mode."
    },
    {
        "key": "pessimistic-txn.constraint-check-in-place-pessimistic",
        "type": "bool",
        "comment": "ConstraintCheckInPlacePessimistic is the default value for the session variable `tidb_constraint_check_in_place_pessimistic`"
    },
    {
        "key": "max-index-length",
        "type": "int"
    },
    {
        "key": "index-limit",
        "type": "int"
    },
    {
        "key": "table-column-count-limit",
        "type": "int"
    },
    {
        "key": "graceful-wait-before-shutdown",
        "type": "int"
    },
    {
        "key": "alter-primary-key",
        "type": "bool",
        "comment": "AlterPrimaryKey is used to control alter primary key feature."
    },
    {
        "key": "treat-old-version-utf8-as-utf8mb4",
        "type": "bool",
        "comment": "TreatOldVersionUTF8AsUTF8MB4 is use to treat old version table/column UTF8 charset as UTF8MB4. This is for compatibility.\nCurrently not support dynamic modify, because this need to reload all old version schema."
    },
    {
        "key": "enable-table-lock",
        "type": "bool",
        "comment": "EnableTableLock indicate whether enable table lock.\nTODO: remove this after table lock features stable."
    },
    {
        "key": "delay-clean-table-lock",
        "type": "int"
    },
    {
        "key": "split-region-max-num",
        "type": "int"
    },
    {
        "key": "top-sql.receiver-address",
        "type": "string",
        "comment": "The TopSQL's data receiver address."
    },
    {
        "key": "repair-mode",
        "type": "bool",
        "comment": "RepairMode indicates that the TiDB is in the repair mode for table meta."
    },
    {
        "key": "repair-table-list",
        "type": "json"
    },
    {
        "key": "isolation-read.engines",
        "type": "json",
        "comment": "Engines filters tidb-server access paths by engine type."
    },
    {
        "key": "new_collations_enabled_on_first_bootstrap",
        "type": "bool",
        "comment": "NewCollationsEnabledOnFirstBootstrap indicates if the new collations are enabled, it effects only when a TiDB cluster bootstrapped on the first time."
    },
    {
        "key": "experimental.allow-expression-index",
        "type": "bool",
        "comment": "Whether enable creating expression index."
    },
    {
        "key": "experimental.enable-new-charset",
        "type": "bool",
        "comment": "Whether enable charset feature."
    },
    {
        "key": "skip-register-to-dashboard",
        "type": "bool",
        "comment": "SkipRegisterToDashboard tells TiDB don't register itself to the dashboard."
    },
    {
        "key": "enable-telemetry",
        "type": "bool",
        "comment": "EnableTelemetry enables the usage data report to PingCAP. Deprecated: Telemetry has been removed."
    },
    {
        "key": "labels",
        "type": "json",
        "comment": "Labels indicates the labels set for the tidb server. The labels describe some specific properties for the tidb\nserver like `zone`/`rack`/`host`. Currently, labels won't affect the tidb server except for some special\nlabel keys. Now we have following special keys:\n1. 'group' is a special label key which should be automatically set by tidb-operator. We don't suggest\nusers to set 'group' in labels.\n2. 'zone' is a special key that indicates the DC location of this tidb-server. If it is set, the value for this\nkey will be the default value of the session variable `txn_scope` for this tidb-server."
    },
    {
        "key": "enable-global-index",
        "type": "bool",
        "comment": "EnableGlobalIndex is deprecated."
    },
    {
        "key": "deprecate-integer-display-length",
        "type": "bool",
        "comment": "DeprecateIntegerDisplayWidth indicates whether deprecating the max display length for integer."
    },
    {
        "key": "enable-enum-length-limit",
        "type": "bool",
        "comment": "EnableEnumLengthLimit indicates whether the enum/set element length is limited.\nAccording to MySQL 8.0 Refman:\nThe maximum supported length of an individual SET element is M \u003c= 255 and (M x w) \u003c= 1020,\nwhere M is the element literal length and w is the number of bytes required for the maximum-length character in the character set.\nSee https://dev.mysql.com/doc/refman/8.0/en/string-type-syntax.html for more details."
    },
    {
        "key": "stores-refresh-interval",
        "type": "int",
        "comment": "StoresRefreshInterval indicates the interval of refreshing stores info, the unit is second."
    },
    {
        "key": "enable-tcp4-only",
        "type": "bool",
        "comment": "EnableTCP4Only enables net.Listen(\"tcp4\",...)\nNote that: it can make lvs with toa work and thus tidb can get real client ip."
    },
    {
        "key": "enable-forwarding",
        "type": "bool",
        "comment": "The client will forward the requests through the follower\nif one of the following conditions happens:\n1. there is a network partition problem between TiDB and PD leader.\n2. there is a network partition problem between TiDB and TiKV leader."
    },
    {
        "key": "max-ballast-object-size",
        "type": "int",
        "comment": "MaxBallastObjectSize set the max size of the ballast object, the unit is byte.\nThe default value is the smallest of the following two values: 2GB or\none quarter of the total physical memory in the current system."
    },
    {
        "key": "ballast-object-size",
        "type": "int",
        "comment": "BallastObjectSize set the initial size of the ballast object, the unit is byte."
    },
    {
        "key": "transaction-summary.transaction-summary-capacity",
        "type": "int",
        "comment": "how many transaction summary in `transaction_summary` each TiDB node should keep."
    },
    {
        "key": "transaction-summary.transaction-id-digest-min-duration",
        "type": "int",
        "comment": "how long a transaction should be executed to make it be recorded in `transaction_id_digest`."
    },
    {
        "key": "enable-global-kill",
        "type": "bool",
        "comment": "EnableGlobalKill indicates whether to enable global kill."
    },
    {
        "key": "enable-32bits-connection-id",
        "type": "bool",
        "comment": "Enable32BitsConnectionID indicates whether to enable 32bits connection ID for global kill."
    },
    {
        "key": "initialize-sql-file",
        "type": "string",
        "comment": "InitializeSQLFile is a file that will be executed after first bootstrap only.\nIt can be used to set GLOBAL system variable values"
    },
    {
        "key": "enable-batch-dml",
        "type": "bool",
        "comment": "EnableBatchDML, MemQuotaQuery, OOMAction unused since bootstrap v90"
    },
    {
        "key": "mem-quota-query",
        "type": "int"
    },
    {
        "key": "oom-action",
        "type": "string"
    },
    {
        "key": "oom-use-tmp-storage",
        "type": "bool",
        "comment": "OOMUseTmpStorage unused since bootstrap v93"
    },
    {
        "key": "check-mb4-value-in-utf8",
        "type": "bool",
        "comment": "These items are deprecated because they are turned into instance system variables."
    },
    {
        "key": "enable-collect-execution-info",
        "type": "bool"
    },
    {
        "key": "plugin.dir",
        "type": "string"
    },
    {
        "key": "plugin.load",
        "type": "string"
    },
    {
        "key": "max-server-connections",
        "type": "int"
    },
    {
        "key": "run-ddl",
        "type": "bool"
    },
    {
        "key": "disaggregated-tiflash",
        "type": "bool",
        "comment": "These configs are related to disaggregated-tiflash mode."
    },
    {
        "key": "autoscaler-type",
        "type": "string"
    },
    {
        "key": "autoscaler-addr",
        "type": "string"
    },
    {
        "key": "is-tiflashcompute-fixed-pool",
        "type": "bool"
    },
    {
        "key": "autoscaler-cluster-id",
        "type": "string"
    },
    {
        "key": "use-autoscaler",
        "type": "bool"
    },
    {
        "key": "tidb-max-reuse-chunk",
        "type": "int",
        "comment": "TiDBMaxReuseChunk indicates max cached chunk num"
    },
    {
        "key": "tidb-max-reuse-column",
        "type": "int",
        "comment": "TiDBMaxReuseColumn indicates max cached column num"
    },
    {
        "key": "tidb-enable-exit-check",
        "type": "bool",
        "comment": "TiDBEnableExitCheck indicates whether exit-checking in domain for background process"
    },
    {
        "key": "in-mem-slow-query-topn-num",
        "type": "int",
        "comment": "InMemSlowQueryTopNNum indicates the number of TopN slow queries stored in memory."
    },
    {
        "key": "in-mem-slow-query-recent-num",
        "type": "int",
        "comment": "InMemSlowQueryRecentNum indicates the number of recent slow queries stored in memory."
    }
]